Python django如何访问已上载的视频

Python django如何访问已上载的视频,python,django,Python,Django,我已经上传了一段视频到django,一切正常。。 但我需要在视图中渲染该视频。。 django无法访问它 你知道如何让django模板看到我上传的文件吗 modles.py: class VideoData(models.Model): title = models.CharField(max_length=200) file = models.FileField(upload_to='vids' ) forms.py: class UploadFileForm(forms

我已经上传了一段视频到django,一切正常。。 但我需要在视图中渲染该视频。。 django无法访问它
你知道如何让django模板看到我上传的文件吗

modles.py:

class VideoData(models.Model):

    title = models.CharField(max_length=200)
    file = models.FileField(upload_to='vids'  )
forms.py:

class UploadFileForm(forms.Form):
    title = forms.CharField(max_length=50)
    file  = forms.FileField()
在template.html中:

<video width="320" height="240" controls="controls">
  <source src="vids/name.mov"  type="video/mov" />
 </video>

它显示一个空的视频播放器

我做错什么了吗


请帮助

您的视频已上载到media\u root/vid目录(只需在文件系统上检查以确保)。 所以,当您从模板调用它时,您应该在视频图像前编写媒体模板。(因此您的url可以是/media/vids/name.mov) 我还注意到你在这里写的是硬编码的视频名称,请改为使用如下内容

<video width="320" height="240" controls="controls">
  <source src="{{MEDIA_URL}}{{my_video_data.file}}"  type="video/mov" />
 </video>


要在此处使用MEDIA_URL,您必须通过上下文处理器签出django.shortcuts.render方法来运行上下文变量。

假设名为
vide
视频数据的实例位于模板的上下文中,您应该使用:

<video width="320" height="240" controls="controls">
  <source src="{{vid.file.url}}"  type="video/mov" />
 </video>

尝试此操作后,给出的路径为“C:\Users\moayyad\Desktop\bookfairp\..\bookfairp\vids\1_1.webm”
其中应为“C:\Users\moayyad\Desktop\bookfairp\vids\1_1.webm”
from django.shortcuts import render_to_response
from models import VideoData

def show_video(request):
    vid = VideoData.objects.get(id=1) # replace with correct query
    return render_to_response("template.html", {"vid":vid})