前端设计-后端开发(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出现错误
- 大概率是因为字符段不匹配
数据预处理
- 以月为单位统计订单数量
- 统计每个客户的消费量
- 以月为单位统计每个单位的消费量
数据分析
订单数量预测(月份)
- 以月为单位统计订单数量
- 预测订单数量
客户价值分析
- 以月为单位统计客户的消费金额
- 预测客户消费趋势,判断客户价值