在线视频采用,视频上传到百度云VOD进行存储,然后在html中调用接口进行播放,具体见
帮助文档
在线视频播放处理和在线文档下载处理差不多,就多一个调用百度云VOD的处理接口。
一、分析
1. 数据库设计
-
Teacher
表字段名 字段类型 关联表 关联类型 关联操作 id int name char position char brief text saying char avatar url create_time datatime update_time datatime is_delete boolean -
CourseCategory
表字段名 字段类型 关联表 关联类型 关联操作 id int name char create_time datatime update_time datatime is_delete boolean -
Course
表字段名 字段类型 关联表 关联类型 关联操作 id int name char time char brief text outline char clicks integer cover_url url video_url url teacher ForeignKey Teacher ManyToOne SET_NULL category ForeignKey CourseCategory ManyToOne SET_NULL create_time datatime update_time datatime is_delete boolean
2. 视频列表显示
-
业务流程
- 从数据库中获取视频信息返回给前端
- 填充html
- 待写:根据类型分类(功能和文章分类实现一样)
-
请求方式:
GET
-
请求地址:
/course/index/
- 请求参数:无
3. 视频播放
-
业务流程
- 接收前端传来的视频id
- 在数据库中获取数据
- 跳转到视频播放页面
- 调用百度云VOD播放接口
-
请求方式:
GET
-
请求地址:
/course/<int:course_id>/
-
请求参数:
参数 类型 前端是否必须传 描述 course_id int 是 路径参数
二、视频播放功能
1. 数据库
course/models.py
from django.db import models
from utils.models.models import BaseModel
class Teacher(BaseModel):
"""
create teacher model
field:
姓名 name CharField
职衔 position CharField
简介 brief TextField
名言 saying CharField
头像 avatar URLField
"""
name = models.CharField(max_length=20, verbose_name="姓名", help_text="姓名")
position = models.CharField(max_length=30, verbose_name="职位", help_text="职位")
brief = models.TextField(verbose_name="简介", help_text="简介")
saying
版权声明:本文为hl120841原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。