Django项目练习(六)——视频页面功能开发

本文详细介绍了使用Django开发视频页面的功能,包括视频页面的创建、后端处理、表单验证、数据库操作、数据传递到前端、URL添加、集数显示以及演员添加/删除功能。在后端,重点讲解了如何验证表单字段和枚举字段,以及如何将数据存储到数据库。在前端,实现了表单的显示与隐藏逻辑,以及通过表格展示数据库数据。
摘要由CSDN通过智能技术生成

一、视频页面功能开发

在app文件夹的views文件夹中,创建一个video文件。再在templates文件夹下的dashboard文件夹下建一个video文件夹,方video页面。
video.py中

# coding:utf-8

from django.shortcuts import redirect, reverse
from django.views import View
from app.libs.base_render import render_to_response  # mako的render
from app.utils.permission import dashboard_auth  # 登录验证


class ExternalVideo(View):
    TEMPLATE = 'dashboard/video/external_video.html'
    
    @dashboard_auth
    def get(self, request):
        
        return render_to_response(request, self.TEMPLATE)

配置路由

from .views.video import ExternalVideo

path('video/external', ExternalVideo.as_view(), name='external_video')

然后在base.html中,加上外链视频的链接<li><a href="${reverse('external_video')}">外链视频</a></li>

然后写外链视频的页面:
external_video.html中:

<%inherit file="../base.html" />
<%! from django.shortcuts import reverse %>
<%def name="content()">
<%
from app.model.video import VideoType, FromType, NationalityType
%>

<h1>外链视频</h1>
<button class="btn btn-info open-btn">创建</button>
<form class="form-horizontal edit-area add-video-area" action="" method="post">
    <div class="form-group">
        <div class="col-sm-10">
            <input type="text" name="name" class="form-control"  placeholder="视频名称">
        </div>
    </div>

    <div class="form-group">
        <div class="col-sm-10">
            <input type="text" name="name" class="form-control"  placeholder="海报">
        </div>
    </div>
    <div class="form-group">
        <div class="col-sm-10">
            <label>视频类型</label>
            <select class="form-control video-select">
                %for video_type in VideoType:
                <option value="${video_type.value}">${video_type.label}</option>
                %endfor
            </select>
        </div>
    </div>

    <div class="form-group">
        <div class="col-sm-10">
            <label>视频来源</label>
            <select class="form-control video-select">
                %for from_to in FromType:
                %if from_to != FromType('custom'):
                <option value="${from_to.value}">${from_to.label}</option>
                %endif
                %endfor
            </select>
        </div>
    </div>

    <div class="form-group">
        <div class="col-sm-10">
            <label>视频国籍</label>
            <select class="form-control video-select">
                %for nationality in NationalityType:
                <option value="${nationality.value}">${nationality.label}</option>
                %endfor
            </select>
        </div>
    </div>
    <button type="submit" class="btn btn-info">添加</button>
</form>

</%def>
<%def name="css()">
<link href="/static/dashboard/css/external_video.css" rel="stylesheet" />
</%def>
<%def name="js()">
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值