【物流管理系统-Python简易版】

发布时间:2024年01月14日

前端设计-后端开发(DJango项目Demo)

参考资料:【一文到底】【0基础】【快速上手】Django基本使用

创建项目

Pycharm专业版新建DJango项目
项目文件介绍:

django_study_demo
│─ manage.py			【项目管理的脚本,不要修改,eg:启动、创建app、数据库管理等】
└─django_study_demo		【与项目同名的文件夹】
     │─ asgi.py			【和wsgi.py一起,接收网络请求的】【不用修改】【Django接收异步的】
     │─ settings.py		【项目的配置文件,eg:数据库连接信息、注册app等】【常操作】
     │─ urls.py			【全部的URL和函数的对应关系】【常操作】
     │─ wsgi.py			【和asgi.py一起,接收网络请求的】【不用修改】【Django接收同步的】
     │─ __init__.py

创建APP

即创建一部分功能的意思。
一个Django项目可能需要处理多个业务,我们将业务拆解,一部分一部分分开来管理代码会比较有条理,所以可以通过创建多个app来分别实现多个业务功能。

举栗来说,一个项目分别对用户管理、订单管理、后台管理等业务都创建相应的app去实现。
这样每个app的表结构、函数、HTML模板、css等都可以分开管理,不会混乱。
But,app是为了分开实现那些大功能的,像增加用户信息和删除用户信息这两个小功能就大可不必分成两个app来写。
所以,我们自己个人开发的时候,就可以只创建一个app来实现项目功能。

通过manage.py来创建app

用Pycharm打开命令行界面,然后输入指令python manage.py startapp app名。

  • app目录结构:
django_study_demo
│  manage.py
├─django_study_demo
│     asgi.py
│     settings.py
│     urls.py
│     wsgi.py
│     __init__.py
└─index						【app名命名的文件夹】
    │  admin.py				【固定的不用动】django默认提供的后台管理,但实际开发不常用
    │  apps.py				【固定的不用动】app启动相关
    │  models.py			【☆很重要,对数据库进行操作】这里不用SQL写了,Django封装了ORM供调用
    │  tests.py				【固定的不用动】用来单元功能测试的,个人小项目可以不用管
    │  views.py				【☆很重要,撰写视图函数(得我们自己写的)】
    │  __init__.py
    └─migrations			【固定的不用动】数据库变更记录,会自动生成文件,我们不用动
            __init__.py

快速上手Django

1. 确保app已注册
2. URL和函数的映射
3. 视图函数的撰写
4. 运行Django


数据处理

Python读取MySQL数据

问题1:可以连接SSH,但是无法连接MySQL

  • 【pymysql.err.OperationalError: (1045, “Access denied for user ‘liuhao’@‘localhost’ (using password: YES)”)】
  • 可能得原因:
    • MySQL用户权限不足
    • MySQL服务器防火墙设置
    • MySQL绑定地址
    • 重启MySQL服务
  • 解决方法:
    • 关闭防火墙:sudo service ufw stop(20版本)
使用sudo vim /etc/mysql/mysql.conf.d/mysql.cnf命令把[mysqld]中添加的skip-grant-table删除

问题2:上传csv文件到MySQL出现错误

  • 大概率是因为字符段不匹配

数据预处理

  • 以月为单位统计订单数量
  • 统计每个客户的消费量
  • 以月为单位统计每个单位的消费量

数据分析

订单数量预测(月份)

  • 以月为单位统计订单数量
  • 预测订单数量

客户价值分析

  • 以月为单位统计客户的消费金额
  • 预测客户消费趋势,判断客户价值
文章来源:https://blog.csdn.net/Lenhart001/article/details/135436879
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。