项目实战介绍
项目:图书商城
技术:Django2.2 + python3.7+mysql5.7
特点:
- 完整的完成一个在线商城的全流程
- 多图上传,短信验证,阿里支付,云服务器部署
功能:
前台:
- 注册,登录,首页,列表,详情,购物车,订单,个人中心
后台:
- 登录,会员管理,图书分类,图书商品,订单,权限管理
设计数据字典:
数据字典就是根据项目的功能和要求,去设计对应的数据库,表和字段。
会员表 user
ID 用户名,密码,邮箱,手机号。。。。
项目结构搭建:
bookshop/├── bookshop│ ├── __init__.py│ ├── settings.py│ ├── urls.py│ └── wsgi.py├── manage.py├── myadmin│ ├── __init__.py│ ├── admin.py│ ├── apps.py│ ├── migrations│ │ ├── __init__.py│ ├── models.py│ ├── tests.py│ ├── urls.py│ └── views.py├── myhome│ ├── __init__.py│ ├── admin.py│ ├── apps.py│ ├── migrations│ │ ├── __init__.py│ ├── models.py│ ├── tests.py│ ├── urls.py│ └── views.py├── static│ ├── myadmin│ ├── myhome│ └── uploads└── templates├── myadmin└── myhome
后台开发:
会员管理:
查看会员列表,详情信息,禁用,【修改,删除,添加】
会员模型:
| 列名 | 字段 | 类型 | 说明 |
|---|---|---|---|
| ID | id | 主键 | |
| 用户名 | username | Varchar | |
| 密码 | Password | char(80) | |
| 手机号 | Phone | char(11) | 唯一索引 |
| 性别 | Sex | Tinyint | |
| 年龄 | Age | Tinyint | |
| 注册时间 | Additive | Datetime | |
| 最后登录时间 | Savetime | Datetime | |
| 状态 | Status | Tinyint | 默认0,1禁用, |
| 头像 | face_url | Varchar | 存储头像的路径 |
图书分类,
图书商品,
订单,
权限管理
自定义模版标签
在应用中创建一个 templatetags 包
在templatetags包中 创建自定义模块 pagetag.py
在pagetag.py模块文件中,自定义标签或过滤器 ```python
/web/myadmin/templatetags/pagetag.py
from django import template
register = template.Library()
自定义过滤器
@register.filter def chuan_upper(val): return val.upper()
自定义 标签
@register.simple_tag def jia(a,b): return int(a)+int(b)
4.使用自定义的过滤器或标签```html<!-- index.html. 在使用自定义标签或过滤器时,需要导入 -->{% load pagetag %}{{ 'abc'|chuan_upper }}{% jia 1 2 %}
mysql存储过程
利用mysql存储过程,给会员表批量添加数据
\d //create procedure p1()beginset @i=0;while @i<1000 doinsert into myadmin_users values(null,concat('user',@i),'123446',concat('1370138',@i),1,20,'2020-01-08 06:45:44','2020-01-08 06:45:44',0,'/static/myadmin/img/user05.png');set @i=@i+1;end while;end;//\d ;call p1();
