Django blog项目《十四》:视频播放模块

  • Post author:
  • Post category:其他


在线视频采用,视频上传到百度云VOD进行存储,然后在html中调用接口进行播放,具体见

帮助文档

在线视频播放处理和在线文档下载处理差不多,就多一个调用百度云VOD的处理接口。



一、分析



1. 数据库设计

在这里插入图片描述


  1. Teacher

    字段名 字段类型 关联表 关联类型 关联操作
    id int
    name char
    position char
    brief text
    saying char
    avatar url
    create_time datatime
    update_time datatime
    is_delete boolean

  2. CourseCategory

    字段名 字段类型 关联表 关联类型 关联操作
    id int
    name char
    create_time datatime
    update_time datatime
    is_delete boolean

  3. 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. 视频列表显示
  1. 业务流程

    1. 从数据库中获取视频信息返回给前端
    2. 填充html
    3. 待写:根据类型分类(功能和文章分类实现一样)
  2. 请求方式:

    GET
  3. 请求地址:

    /course/index/
  4. 请求参数:无


3. 视频播放
  1. 业务流程

    1. 接收前端传来的视频id
    2. 在数据库中获取数据
    3. 跳转到视频播放页面
    4. 调用百度云VOD播放接口
  2. 请求方式:

    GET

  3. 请求地址:

    /course/<int:course_id>/

  4. 请求参数:

    参数 类型 前端是否必须传 描述
    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 版权协议,转载请附上原文出处链接和本声明。