django как получить доступ к уже загруженному видео - PullRequest
0 голосов
/ 14 декабря 2011

я загрузил видео в 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>

показывает пустой видеоплеер,

я делаю что-то не так?

, пожалуйста, помогите

Ответы [ 2 ]

1 голос
/ 14 декабря 2011

Предполагая, что экземпляр VideoData с именем vid находится в контексте шаблона, вы должны использовать:

<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 голос
/ 14 декабря 2011

Ваше видео загружено в каталог media_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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...