图书商城

项目实战介绍

项目:图书商城

技术:Django2.2 + python3.7+mysql5.7

特点:

  • 完整的完成一个在线商城的全流程
  • 多图上传,短信验证,阿里支付,云服务器部署

功能:

前台:

  • 注册,登录,首页,列表,详情,购物车,订单,个人中心

后台:

  • 登录,会员管理,图书分类,图书商品,订单,权限管理

设计数据字典:

数据字典就是根据项目的功能和要求,去设计对应的数据库,表和字段。

会员表 user

ID 用户名,密码,邮箱,手机号。。。。

项目结构搭建:

  1. bookshop/
  2. ├── bookshop
  3. ├── __init__.py
  4. ├── settings.py
  5. ├── urls.py
  6. └── wsgi.py
  7. ├── manage.py
  8. ├── myadmin
  9. ├── __init__.py
  10. ├── admin.py
  11. ├── apps.py
  12. ├── migrations
  13. ├── __init__.py
  14. ├── models.py
  15. ├── tests.py
  16. ├── urls.py
  17. └── views.py
  18. ├── myhome
  19. ├── __init__.py
  20. ├── admin.py
  21. ├── apps.py
  22. ├── migrations
  23. ├── __init__.py
  24. ├── models.py
  25. ├── tests.py
  26. ├── urls.py
  27. └── views.py
  28. ├── static
  29. ├── myadmin
  30. ├── myhome
  31. └── uploads
  32. └── templates
  33. ├── myadmin
  34. └── myhome

后台开发:

会员管理:

  1. 查看会员列表,详情信息,禁用,【修改,删除,添加】

会员模型:

列名 字段 类型 说明
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 存储头像的路径

图书分类:

  1. 添加,列表,删除,编辑

图书分类模型:

列名 字段 类型 说明
ID id 主键
分类名称 name 字符串
父级ID Pid 数字
路径 path 字符串
  1. 图书分类:
  2. ID 分类名称 父级ID 路径path
  3. 1 人文社科 0 0
  4. 2 小说 0 0
  5. 3 经济管理 0 0
  6. 4 古籍 1 01
  7. 5 经部。 4 014
  8. 6 当代小说。 2
  9. ---
  10. 服务分类
  11. id 分类名。 父级ID 路径path
  12. 1 服装。 0 0
  13. 2 男装。 1 01
  14. 3 女装。 1 01
  15. 4 男正装。 2 012
  16. 5 衬衫。 4 0124

图书商品,

订单,

权限管理

自定义模版标签

  1. 在应用中创建一个 templatetags 包

  2. 在templatetags包中 创建自定义模块 pagetag.py

  3. 在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)

  1. 4.
  2. 使用自定义的过滤器或标签
  3. ```html
  4. <!-- index.html. 在使用自定义标签或过滤器时,需要导入 -->
  5. {% load pagetag %}
  6. {{ 'abc'|chuan_upper }}
  7. {% jia 1 2 %}

mysql存储过程

利用mysql存储过程,给会员表批量添加数据

  1. \d //
  2. create procedure p1()
  3. begin
  4. set @i=0;
  5. while @i<1000 do
  6. insert 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');
  7. set @i=@i+1;
  8. end while;
  9. end;
  10. //
  11. \d ;
  12. call p1();