У меня есть модель, в которую я загружаю видео, я хочу показать то же самое в браузере, но как-то не могу. Пожалуйста, помогите мне.
Я создал приложение с именем deploy, где я загружаю видео и сохраняю его. Пожалуйста, скажите мне, где я делаю что-то не так и что нужно делать здесь. Я хочу, чтобы видео, которое было загружено, должно было отображаться на странице, а также должна быть возможность для загрузки. Я буду чрезвычайно благодарен за помощь.
Мой файл models.py:
class Video(models.Model):
Video_Description= models.CharField(max_length=500)
slug = models.SlugField(unique=True)
videofile= models.FileField(upload_to='deploy/videos/%Y/%m/%d/', null=True, verbose_name="")
timestamp = models.DateTimeField(auto_now_add=True)
class Meta:
ordering = ['-timestamp']
def get_absolute_url(self):
return reverse ("deploy:detail", kwargs={"slug":self.slug})
def __str__(self):
return self.Video_Description + ": " + str(self.id)
Мой файл views.py:
class VideoDetailView(DetailView):
queryset = Video.objects.all()
class VideoListView(ListView):
paginate_by = 10 # <app>/<modelname>_list.html
def get_queryset(self, *args, **kwargs):
qs = Video.objects.all()
print(self.request.GET)
query = self.request.GET.get("q", None)
if query is not None:
qs = qs.filter(
Q(Video_Description__icontains=query) | Q(videofile__icontains=query))
return qs
def get_context_data(self, *args, **kwargs):
context = super(VideoListView, self).get_context_data(*args, **kwargs)
return context
файл video_list.html:
{% extends "base.html" %}
{% load static %}
<body>
<link rel="stylesheet" href="{% static 'deploy/cafeteria_cut.mp4' %} ">
{% block content %}
{% include "result/navbar.html" %}<br/>
{% include "result/sidebar.html" %}<br/>
{% include "result/calendar.html" %}<br/>
<div style="margin-left: 10%">
<button type="button" class="btn btn-secondary btn-lg"><a href="{% url 'deploy:create' %}" style='color:white'>Upload Video</a></button>
</div>
{% for object in object_list %}
<div class="container" style="margin-left: 10%; align-items: center;">
<h2>
</br>
<a href="{{ object.get_absolute_url }}">
{{ object.Video_Description }}
</a>
</br>
</h2>
</br>
<a href="" style="align-items: center;">
{{ object.videofile}}
</a>
</br>
<br><br>
<video width='400' controls>
<source src="{% static 'deploy/youtubeVideo_cut20.mp4' %}" type='video/mp4'>
Your browser does not support the video tag.
</video>
<br><br>
{% empty %}
{% if request.GET.q %}
<p style="padding-left: 20%; font-size: 70px">No Result Found </p>
{% else %}
<p style="padding-left: 20%; font-size: 70px"> No Result Yet.
{% endif %}
{% endfor %}
{% endblock content %}
Мне очень жаль, что я не упомянул очень важную вещь в своем файле video_list.html, когда я это сделал:
<br><br>
<video width='400' controls>
<source src="{% static 'deploy/youtubeVideo_cut20.mp4' %}" type='video/mp4'>
Your browser does not support the video tag.
</video>
<br><br>
Я получаю видео, отображаемое в браузере.