利用django结合restful规范开发的一个在线视频教育平台,可播放,播放调用保利威加密视频,可购买,购买调用支付宝接口。 另内含一个后台管理平台,基于角色等级的控制,根据不同的角色有不同的菜单功能显示
-
2019/07/18
- 删除不必要的代码
- 说明django自带的admin后台和本项目的后台的差别
- 感谢给我star的兄弟们,后续会发布更多我自己开发的开源项目
-
后端:
- django 2+
- djangorestframework组件
- python 3.7
-
前端:
- vue 2.5.2
- webpack 3.6.0
- Element-UI 2
-
规范协议:
- restful
- PEP8协议
-
数据库:
- mysql(业务逻辑部分)
- redis(持久化存储登录状态,商城数据)
-
第三方组件/接口:
- 支付宝支付接口
- 极验验证码
- 保利威加密视频
- matplotlab数据可视化
- kindeditor富文本编辑器
- bootstrap-datepicker日期选择器
- 前端部分:
- 在线播放视频(本项目中由于加密视频平台的测试账号有效期已过,目前无法播放)
- 登录注册均调用极验验证码验证机制
- 课程相关展示
- 购物车、优惠券
- 作业提交、问题提问、商品评价
- 后端部分:
- 采用restful规范,利用django的DRF组极简与前端分离并做数据交互
- 与前端部分的数据存储使用redis永久存储
- 后台部分:
- 造了一个轮子 —— django-startX 快速实现后台权限管理
- 造了一个轮子 —— django-rbac 快速完成根据角色不同做不同的功能权限限制
- 利用matplotlab模块,对注册用户、账单进行数据分析形成趋势图
- 本项目不附带数据库源数据,自行配置数据库,在后端部分的根目录onlinestudy/onlinestudy/settings.py文件配置数据库,以下为mysql数据库的配置
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'HOST': '主机地址(IP地址)', 'PORT': '数据库端口', 'USER': '账户名', 'PASSWORD': '密码', 'NAME': '数据库名', # 'OPTIONS': { # 'init_command': "SET sql_mode='STRICT_TRANS_TABLES'", # }, } }
- 终端下进入后端部分的根目录onlinestudy,使用如下命令迁移数据库
python manage.py makemigrations
python manage.py migrate
-
迁移之后自行创建数据库,根据自己的数据库账号密码进行登录验证
-
以下为本项目的登录界面:
- 登录成功界面:
- django自带admin组件后台如下(该后台可以做快速处理,并不是本项目的后台)
-
后端部分请按照根目录的requirements.txt文件安装必须的第三方依赖
- 安装命令
pip install -r requirements.txt
-
前端部分请进入根目录,运行如下命令安装必须的第三方依赖
- 前提请自行安装node.js
npm install
进入后端根目录onlinestudy
python manage.py runserver 127.0.0.1:8000 (启动地址随意)
进入后端根目录onlinestudy
``autopep8 --in-place --aggressive --aggressive onlinestudy ``
进入后端根目录onlinestudy
``python manage.py test ``
进入前端端根目录onlinestudy
开发环境:npm run dev
生产环境:npm run bulid
-
前端部分
- 并且课程支持按标签,按热度,价格高低筛选
- 滑到中下部自动出现购物车和回顶部的悬浮按钮
- 如果未登录就会跳到登录页面
- 由于我的保利威测试账户有效期已过,所以无法正常显示视频
-
后端部分
- 富文本插件的使用
- datepicker的使用