四、 前台项目部分
1. 用户部分
主要实现功能:
① 用户注册,②用户登录及退出,③用户信息展示,④用户邮箱绑定,⑤密码
修改,⑥忘记密码重置,⑦第三方登录(QQ,微博),⑧用户收货地址增删
改查操作及设置默认地址
主要技术点:
① captcha 图形验证码扩展包的集成与使用。
② 容联云短信平台第三方包集成与使用
③ 使用 celery 进行短信验证码发送,邮件发送等异步任务的处理
④ 使用管道 pipline 操作 Redis,用一个管道包含多个操作命令,一次性提交,
顺序执行。有利于降低数据延迟,并保证数据操作前后的一致性与顺序性
⑤ 用户多账号登录的校验认证方法
⑥ 设置 session 实现登录用户状态保持及用户退出登录
⑦ 使用 Django 自带模块进行邮件服务器的配置和实现邮件的发送及验证
⑧ 使用 QQLoginTool对接 QQ 互联接口。及使用 sinaweibopy3 模块对接新浪微
博登录平台接口
⑨ 使用 itsdangerous 第三方包对数据进行加密、解密操作。
⑩ 省市区三级联动的实现方式(数据库表结构设计:自关联,一对多)
⑪ 对省市区等常用数据进行缓存的方法
2. 商品部分
主要实现功能:
① 首页商品广告展示,②商品列表页展示,③商品面包屑数据及商品分类三级
展示,④热销商品展示,⑤商品详情页展示,⑥商品搜索功能,⑦用户浏览
记录统计
主要技术点:
① 商品数据库表结构设计
② 容器化技术应用——Docker 的操作及使用
③ 使用 Docker 安装 FastDFS
④ 使用 Fdfs_client 进行图片上传、下载
⑤ 自定义 Django 文件存储类,拼接完整的图片下载地址
⑥ 使用 Django 自带的 paginator 模块实现分页功能
⑦ 全文检索方案的实现——使用 Docker 安装 Elasticsearch 镜像;安装并配置
Haystack,通过 Haystack 调用 ES,实现对数据的检索。
⑧ 最近浏览记录数据保存——存储类型:Redis 中的 list 类型。存储逻辑:先去
重,再存储,最后截取。
3. 购物车部分
主要实现功能:①登录用户和非登录用户均可添加商品至购物车并保存,②登录
用户和非登录用户的购物车内容展示及增删改操作,③合并购物车(QQ 登录和
账号登录),④全选购物车
主要技术点:
① 购物车数据保存——登录用户:用户、商品、数量采用 Redis 数据库 hash 类
型存储。勾选状态采用 Redis 数据库 set 类型存储。未登录用户:用户浏览器
cookie 存储
② pickle模块(pickle.dumps(),pickle.loads())和 base64模块(base64.b64encode(),
base64.b64deocde())的使用。实现 6 位 bytes 类型、8 位 bytes 类型、字典之
间的相互转换。
4. 商品订单及支付部分
主要实现功能:①提交订单并展示订单页面,②第三方支付系统对接(支付宝),
③订单状态显示,④商品评价
主要技术点:
① 数据库订单信息表和订单商品表的设计逻辑
② 通过 django.db.transaction 模块开启事务保存订单相关数据,防止对多个相关
数据表操作过程中出现错乱。
③ 并发下单解决:在事务中使用乐观锁的思想解决并发下单的问题,同时要修
改 Mysql 的事务隔离级别为 READ-COMMITED。
④ 支付宝模拟支付环境的配置与支付接口的集成。
5. 项目优化及部署部分
主要实现功能:①将访问频率高的页面由动态网页转成静态网页, ②搭建 Mysql
主从服务器,实现主从同步,读写分离,③部署静态服务器 Nginx 提供静态数据,
④使用 Nginx 进行反向代理动态业务
主要技术点:
①生成静态页面脚本模块
②django-crontab 定时器的配置及使用,用于定时生成静态文件
③Mysql 主从服务器同步、读写分离等配置
④安装及配置动态服务器 uwsgi
⑤配置 Nginx 反向代理
|
|