路飞学城
项目结构
- 导师后台
- 管理后台
- 主站
组织结构
开发:
主站
vue:1
rest api : 1
导师后台
django : 1
管理后台
django+stark : 1
运维: 1
测试:1
UI : 1
产品经理: 1
运营:3
销售:4
班主任:1
人事:
市场:
讲师:
项目周期
7月开始,11月上线
主站API
- 课程类
- 首页
- 课程列表
- 学位课列表
- 课程详细
- 章节
- 常见文件
- 课程评价
- 课程大纲
- 推荐课程
- 深科技
- 文章列表
- 文章详细
- 收藏
- 评论
- 个人中心
- 我的账户
- 我的订单
- 我的收藏
- 个人资料
- 账号安全
- 学习中心
- 我的课程
- 作业
- 课件下载
- 购买流程
- 加入购物车
- 去结算
- 立即支付
- 成功之后:修改订单状态+发送微信通知
技术点
rest_framework部分
# 组件:
路由:
视图:
# 注意点,如果继承了ViewSet这些类,须有queryset属性,否则BrowsableAPIRenderer渲染器中会执行get_query方法()
# ApiView返回只是return csrf_exempt(view),apiview中不存在csrf问题
版本:
认证:
# 认证类的authenticate方法返回值有三,
# 两个元素的元组,分别赋值给request.user和request.tuken
# 抛出异常,验证失败
# 返回空,为request.user和request.tuken赋默认值
权限:
频率:
分页:
序列化:
解析器:
渲染器:
跨域请求:
跨域问题的产生
# 浏览器的同源策略
jsonp
# jsonp是利用了script标签的特性,动态的生成script标签,只能发送get请求
cors
# 本质上是添加请求头
redis
- 为什么用redis做购物车? - 频繁操作 - 中间状态 - 数据放入内容,快。 PS: - 也可以搞sessionsession - redis分布式锁
Django 的ContentType
# Django进行数据化迁移的时候会生成一张django_content_type表,里面记录了各个App中的模型类.
# 我们的评论表以及价格策略表就是通过Content_type写在一张表上的
from django.contrib.contenttypes.models import ContentType
from django.contrib.contenttypes.fields import GenericForeignKey
class PricePolicy(models.Model):
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
# 不在数据库中生成,只用于帮助你做数据操作,通过上面两个字段找到一条记录
content_object = GenericForeignKey('content_type', 'object_id')
# 课程查价格
from django.contrib.contenttypes.fields import GenericRelation
class Course(models.Model):
name = models.CharField(max_length=32)
# 数据库不生成,只用于链表查询
policy_list = GenericRelation("PricePolicy")
VUE部分

浙公网安备 33010602011771号