Django搭建视频上传
时间: 2023-07-04 10:14:16 浏览: 178
要在Django中实现视频上传功能,可以按照以下步骤进行:
1. 在项目中创建一个名为“media”的文件夹,用于存储上传的视频文件。
2. 在settings.py文件中配置MEDIA_ROOT和MEDIA_URL,指定上传文件的存储路径和访问路径。例如:
```
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
```
3. 在models.py文件中创建一个模型类,用于表示上传的视频文件。例如:
```
from django.db import models
class Video(models.Model):
title = models.CharField(max_length=100)
video = models.FileField(upload_to='videos/')
def __str__(self):
return self.title
```
其中,title表示视频的标题,video表示上传的视频文件。upload_to指定了上传文件的存储路径,相对于MEDIA_ROOT设置的值。
4. 在forms.py文件中创建一个表单类,用于上传视频文件。例如:
```
from django import forms
from .models import Video
class VideoForm(forms.ModelForm):
class Meta:
model = Video
fields = ('title', 'video')
```
5. 在views.py文件中创建一个视图函数,用于处理视频上传请求。例如:
```
from django.shortcuts import render
from .forms import VideoForm
def upload_video(request):
if request.method == 'POST':
form = VideoForm(request.POST, request.FILES)
if form.is_valid():
form.save()
return render(request, 'success.html')
else:
form = VideoForm()
return render(request, 'upload.html', {'form': form})
```
其中,upload_video函数处理POST请求,如果表单验证通过,则保存上传的视频文件,并显示上传成功的页面。如果请求方法为GET,则渲染上传页面,并显示上传表单。
6. 在urls.py文件中配置上传视频的路由。例如:
```
from django.urls import path
from .views import upload_video
urlpatterns = [
path('upload/', upload_video, name='upload_video'),
]
```
现在,你可以通过访问/upload/路径来上传视频文件了。上传成功后,视频文件将保存在项目的media/videos/目录下。
阅读全文