джанго трясогузка встроить-видео не отображаются

Я пытаюсь заполнить страницу миниатюрами, и каждая миниатюра перенаправляет вас на страницу с видео, добавленными самим клиентом. Моя 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 %}

person Adrian Covaci    schedule 03.02.2018    source источник


Ответы (1)


Предполагая, что тег шаблона video ожидает получить значение от EmbedVideoField: {% video vid '800x600' %}, вероятно, должно быть {% video vid.video '800x600' %}.

self.video.all дает вам последовательность из VideoBasedModel объектов, поэтому каждое vid значение будет VideoBasedModel объектом. Тег video (предположительно) не знает, что делать с этим объектом - вы должны передать ему поле video этого объекта.

person gasman    schedule 03.02.2018