django Wagtail嵌入 - 视频没有出现

时间:2018-02-03 17:44:19

标签: python django wagtail

我正在尝试制作一个用缩略图填充的页面,每个缩略图都会重定向一个页面,其中包含客户自己添加的视频。 我的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 %}

1 个答案:

答案 0 :(得分:2)

假设video模板标记期望从EmbedVideoField接收值:{% video vid '800x600' %}可能需要{% video vid.video '800x600' %}

self.video.all为您提供了一系列VideoBasedModel个对象,因此每个vid值都是VideoBasedModel个对象。 video标记(可能)不知道如何处理此对象 - 您必须将该对象的video字段传递给它。