目录
1. 开发环境
- 开发工具: Pycharm
- 开发环境: Python3.5/Python3.6+Django2.0.2
- 数据库: MySQL5.7
- 前端: nodejs+vue
2. 掌握的技术
Vue
+ Django REST framework 前后端分离技术- 彻底玩转
restful API
开发流程 - Django REST framework 的功能实现和核心源码分析
Sentry
完成线上系统的错误日志的监督和告警- 第三方登录和支付宝支付的集成
- 本地调试远程服务器代码的技巧
3. 系统构成
- vue 前端项目( 已准备好 )
- Django REST framework 后端系统实现前台功能( 主要开发部分 )
xadmin
后台管理系统( 后台控制 )
vue前端框架部分:
API 接口
Vue 组件 与 API 的交互
Vue 的项目组织结构分析
4. Django REST framework 技能
-
通用view实现rest API接口
apiview 方式实现 api
genericView 方式实现 api 接口
ViewSet 和 Router 方式实现 api 接口和 url 配置
Django_filter 过滤器 searchFilter 搜索 OrderFilter 分页
通用mixins -
权限和认证
Authentication
用户认证设置
动态设置 permission, authentication
Validators
实现字段验证 -
序列化和表单验证
Serializer
ModelSerializer
动态设置 Serializer -
第三方接口登录, 支付宝支付
json Web Token
实现登录验证
手机注册( 发送短信验证码 )
支付宝注册
第三方登录 -
进阶开发
Django REST framework 部分核心源码解读
文档自动化管理 ( docs/接口 )
Django REST framework 的缓存
throttling
对用户和 ip 进行限速( 对爬虫的一定限制 )
5. 开发中常见的问题
- 本地系统不能重现的bug
- api 接口出错不能及时的发现或难以找到错误栈
- api 文档管理问题, html markdown
- 大量的url配置造成url的配置越来越难以维护
- 接口不及时取更新文档, 对方不知道如何去测试接口, 但写文档会话费大量的时间去维护
- 为了防止爬虫, 我们需要针对 api 的访问频率进行限制, 比如一分钟, 一小时, 或者一天用户的访问- 频率限制问题
- 某些页面将数据放入缓存, 可以加速某些 api 的访问速度
商品分类的数据一般变动比较小, 可以放入缓存.
6. 开发中常见问题的解决方案
- 通过 Pycharm 的远程服务器代码调试技巧, 不仅可以调试支付, 第三方登录, 还可以运行远程服务器代码来重现服务器上的 bug
- 通过
Docker
搭建 sentry 来体验错误日志监控系统, 让我们不仅可以得到线上的错误栈, 还能及时在发生错误时收到邮件通知 - 通过 drf( Django RESR framework, 以下简称drf ) 的文档自动化管理以及 url 的注册管理功能会让我们省去写开发文档的时间
- drf 的文档管理功能不仅可以省去写文档时间, 还能直接在文档里面测试接口, 自动生成的 js 接口代码, shell 测试代码和 Python 测试代码
- drf 提供的throttle 对于 api 进行访问频率的限制
- 引入第三方框架来设置某些 api 的缓存
7. Django 进阶知识点
- Django migrations 原理
- Django 信号量
- Django 从请求到响应的完整过程
- 独立使用 Django 的 model
8. vue 知识点
- Vue 技术选型分析
- API 后端数据填充到 Vue 组件模板
- Vue 代码结构分析( MVVM设计模式 )
9. 章节安排
- 项目介绍以及开发环境的搭建
- 设计数据库以及导入原始数据, 其它资源导入
restful api
介绍以及vue
项目结构介绍- 商品列表页功能开发
- 商品类别功能和
vue
展示 - 手机注册( 短信验证码 )和用户登录
- 商品详情页和收藏功能
- 个人中心功能开发
- 购物车, 订单和支付宝支付功能
- 首页轮播图, 商品数量, 缓存, 访问限速功能开发
- 第三方登录( 微博, QQ, 微信 )的接口实现
sentry
实现系统错误日志监控
10. 技术储备要求
Django
基础知识- 熟练掌握
Python3
语法 - 了解
Vue
&MySQL
基础
11. 系统功能
- 商品
- 分类 - 子分类 搜索 热搜词 购物车简要展示
- 新品 分类展示, 大类的推荐商品
- 商品大类, 导航栏. 筛选, 排序. 富文本
- 用户登录注册
- 账号密码登录(
json Web Token
), 微博登录, 输入账号密码跳转回首页 - 手机号码注册, 错误提示. 倒计时功能, 服务器端手机号码发送频次限制
- 交易
- 商品 收藏 加入购物车 结算, 移出购物车
- 支付宝支付, 扫码支付. 跳回商户页面
- 订单详情, 收货地址
- 用户操作
- 个人信息, 收藏商品, 我的收藏
- 留言, 上传文件. 提交, 删除留言
- 系统优化
- 快速浏览. 页面的缓存
- 访问速度限制 & 接口文档 测试交互
- 出错处理:
sentry
基于drf
. 打印错误栈, 当前请求用户. 邮件通知