我正在尝试制作一个充满缩略图的页面,每个缩略图都会将您重定向到一个包含客户自己添加的视频的页面。
我的 models.py
页面:
class HomePage(Page):
body = RichTextField(blank=True)
main_vid = EmbedVideoField(
verbose_name="Video",
null=True,
blank=True,
)
content_panels = Page.content_panels + [
FieldPanel('body', classname="full"),
FieldPanel('main_vid'),
]
class HomePageGallery(Page):
vid_image = models.ForeignKey(
'wagtailimages.Image', on_delete=models.SET_NULL, related_name='+', null=True
)
content_panels = Page.content_panels + [
ImageChooserPanel('vid_image'),
InlinePanel('video', label='video'),
]
class VideoBasedModel(models.Model):
page = ParentalKey(HomePageGallery, on_delete=models.PROTECT, related_name='video')
video = EmbedVideoField(
verbose_name="Video",
null=True,
blank=True,
)
我有一个 HomePageGallery
页面,工作正常,但是当我单击它时,我添加的视频不显示。
我的home_page_gallery.html
{% extends "base.html" %}
{% load static wagtailcore_tags wagtailimages_tags embed_video_tags %}
<link rel="stylesheet" href="{% static 'home/css/main.css' %}">
{% block title %}Ion Matei | Servicii Photo, Video{% endblock %}
{% block content %}
<div class="lists">
{% for vid in self.video.all %}
<div class="welcome-video">
{% video vid '800x600' %}
</div>
{% endfor %}
</div>
{% endblock %}
最佳答案
假设 video
模板标记期望从 EmbedVideoField
接收值:{% video vid '800x600' %}
可能需要为 {% video vid.video '800x600' %}
。
self.video.all
为您提供一系列 VideoBasedModel
对象,因此每个 vid
值都将是一个 VideoBasedModel
对象。 video
标记(大概)不知道如何处理该对象 - 您必须向其传递该对象的 video
字段。
关于python - django Wagtail 嵌入视频未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48600180/