Я не могу получить доступ к своему видеоконтенту, используя pk в файле urls.py
Я хочу: когда пользователь нажимает на видео файл, то он переходит в шаблоны viewVideo: это место, где видео начнет воспроизводиться, например: YouTube.com или другие платформы социальных медиа, Как я могу установить это? То, что я сделал здесь, не отображает видео содержимое.
и я хочу передать видео в нижней части шаблонов viewVideo:
это мой файл urls.py
from os import name
from django.urls import path
from . import views
urlpatterns = [
path('', views.dashboard, name='dashboard'),
path('home', views.home, name='home'),
path('view/<str:pk>/', views.viewVideo, name='video'),
path('addvideo', views.addvideo, name='addvideo'),
path('login', views.login, name='login'),
path('register', views.register, name='register'),
]
вот файл views.py:
def dashboard(request):
posting = Post.objects.select_related('user')
return render(request, 'dashboard.html', {'posting': posting})
def home(request):
posting = Post.objects.select_related('user')
return render(request, 'home.html', {'posting': posting})
def viewVideo(request, pk):
posting = Post.objects.get(id=pk)
return render(request, 'video.html', {'posting': posting })
вот мои шаблоны приборной панели:
<div class="container">
{% for post in posting %}
<div class="row">
<div class="col-md-5">
<div class="card">
<a href="{% url 'video' post.id %}">
<video
id="my-video"
class="video-js"
controls
width="640"
height="264"
poster="MY_VIDEO_POSTER.jpg"
data-setup="{}"
type="video/mp4"
>
<source src="{{post.file.url}}">
</video>
</a>
<div class="card-body">
<small>{{post.date_added}}</small>
<br>
<small>{{post.user.username}}</small>
<br>
<small>{{post.title}}</small>
</div>
</div>
</div>
</div>
{% endfor %}
</div>
вот мои шаблоны ViewVideo:
<div class="container">
<div class="row justify-content-center">
<div class="card">
<video
id="my-video"
class="video-js"
controls
width="640"
height="264"
poster="MY_VIDEO_POSTER.jpg"
data-setup="{}"
type="video/mp4"
>
<source src="{{post.file.url}}">
</video>
<div class="card-body">
<small>{{ post.user.username }}</small>
<small>{{ post.title }}</small>
<small>{{ post.date_added }}</small>
</div>
</div>
</div>
</div>
</div>
</div>
Ваши шаблоны viewVideo: используется переменная {{post}}. например( src="{{post.file.url}}"), которая не передается через контекст. Используйте только те имена переменных внутри шаблонов, которые вы передаете через контекст.