Django实现视频上传并预览

文章介绍了如何在Django项目中配置媒体文件上传,包括修改settings.py中的MEDIA_ROOT和MEDIA_URL,更新urls.py以处理静态文件,创建models.py中的视频模型字段,以及在admin.py中注册和管理该模型。最后展示了上传视频后的访问URL。
摘要由CSDN通过智能技术生成

省流:1,改settings.py 中MEDIA_ROOT和MEDIA_URL
2,urls.py中添加 url(r’^media11/(?P .*)$', static.serve,
{‘document_root’: settings.MEDIA_ROOT}),

1,改settings.py

# 指定上传的文件存放位置
MEDIA_ROOT = os.path.join(BASE_DIR,'media11/').replace('\\', '/')
# 获取上传的文件的url
MEDIA_URL = '/media11/'

在这里插入图片描述

2,改urls.py

from django.contrib import admin
from django.urls import include, path
from django.views import static ##新增
from django.conf import settings ##新增

urlpatterns = [
    path("polls/", include("polls.urls")),
    path('admin/', admin.site.urls),
    url(r'^media11/(?P<path>.*)$', static.serve,
        {'document_root': settings.MEDIA_ROOT}),
]

在这里插入图片描述
3,在models.py配置上传视频的字段

from django.db import models
class videoList(models.Model):
    name = models.CharField(max_length=200, null=False, verbose_name='视频名字')
    videolists = models.FileField(upload_to='videos', default='avatar.jpg', verbose_name='视频地址')

    class Meta:
        verbose_name = '视频'
        verbose_name_plural = '视频'

# Create your models here.

在这里插入图片描述

4,在admin.py 中注册模型

from django.contrib import admin

from polls.models import videoList


class Video_manage(admin.ModelAdmin):
    list_display = ['name','videolists']

    list_per_page = 8  # 每页展示几条记录

admin.site.register(videoList, Video_manage)

# Register your models here.

在这里插入图片描述
5,上传展示
在这里插入图片描述

http://127.0.0.1:8000/media11/videos/%E6%8A%96%E9%9F%B3-%E8%AE%B0%E5%BD%95%E7%BE%8E%E5%A5%BD%E7%94%9F%E6%B4%BB.mp4
'''其中media11是我们刚才设置的,
videos是模型字段里设置的,
后面的乱码是我们的视频名字'''
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要在 Django实现视频上传,您可以按照以下步骤进行操作: 1. 首先,您需要在 models.py 文件中定义一个模型,用于存储上传视频。例如,您可以创建一个名为 Video 的模型,其中包含一个名为 file 的 FileField 字段: ```python from django.db import models class Video(models.Model): file = models.FileField(upload_to='videos/') ``` 2. 接下来,您需要创建一个表单,以便用户能够上传视频。您可以使用 Django 的内置表单类,如 ModelForm,或自己编写表单。例如,您可以创建一个名为 VideoForm 的表单,如下所示: ```python from django import forms from .models import Video class VideoForm(forms.ModelForm): class Meta: model = Video fields = ('file',) ``` 3. 在视图函数中,您需要处理用户提交的表单数据,并将视频保存到数据库中。您可以使用 Django 的内置视图函数,如 FormView,或自己编写视图函数。例如,您可以创建一个名为 upload_video 的视图函数,如下所示: ```python from django.shortcuts import render from django.views.generic.edit import FormView from .forms import VideoForm class VideoUploadView(FormView): form_class = VideoForm template_name = 'upload_video.html' def form_valid(self, form): form.save() return super().form_valid(form) ``` 4. 最后,您需要创建一个 HTML 模板,以便用户能够访问视频上传表单。例如,您可以创建一个名为 upload_video.html 的模板,如下所示: ```html {% extends "base.html" %} {% block content %} <h1>Upload Video</h1> <form method="post" enctype="multipart/form-data"> {% csrf_token %} {{ form.as_p }} <button type="submit">Upload</button> </form> {% endblock %} ``` 通过这些步骤,您应该能够在 Django实现视频上传功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是梦磊OL

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值