2011-12-13 53 views
0

我已經上傳的視頻到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.Form): 
    title = forms.CharField(max_length=50) 
    file = forms.FileField() 

and in template.html:

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

它顯示一個空的視頻播放器。

我做錯了什麼?

請幫助

回答

1

假設命名爲vidVideoData一個實例是在模板的情況下,你應該使用:

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

要將VideoData實例添加到模板的背景下,您認爲應該是這樣的:

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}) 
1

您的視頻被上傳MEDIA_ROOT/VID目錄(只是檢查文件系統,以確保)。 所以當你從模板中調用它時,你應該在你的視頻圖像前寫下你的媒體模板。 (所以你的網址可能是/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你必須運行上下文變量通過上下文處理器checkout django.shortcuts.render方法。

+0

試過這個,並且給出的路徑是「C:\ Users \ moayyad \ Desktop \ bookfairp \ .. \ bookfairp \ vids \ 1_1.webm」
它應該是「C:\ Users \ moayyad \ Desktop \ bookfairp \ vids \ 1_1.webm」 – 2011-12-14 08:59:40