Трясогузка: встроенный носитель (но не через RichTextField)

Трясогузка поддерживает встроенные мультимедиа (например, видео Vimeo или YouTube) действительно классным способом, но единственный способ, который я видел, — это использование RichTextField и доступ к интерфейсу для встраивания мультимедиа через виджет RTF.

Мне кажется, что должно быть что-то похожее на ImageChooserPanel, чтобы встроенные медиа-объекты могли быть частью моделей БЕЗ того, чтобы они находились в RichTextField, но я ничего не видел в документации на этот счет.

Что мне не хватает? Любая ссылка на документы или рабочий пример будет БОЛЬШОЙ признательна.


person Bob Donahue    schedule 06.04.2016    source источник


Ответы (1)


Это можно сделать с помощью простого URLField в модели страницы:

class HomePage(Page):
    ...
    video_url = models.URLField("Video URL", blank=True)

Затем в своем шаблоне используйте фильтр шаблона «встроить»:

{% load wagtailembeds_tags %}

{{ page.video_url|embed }}

или указать максимальную ширину:

{% load wagtailembeds_tags %}

{{ page.video_url|embed:1000 }}
person gasman    schedule 07.04.2016
comment
Это выполнило свою работу, но я надеялся, что каким-то образом смогу использовать внутреннюю операцию, которую выполняет виджет RTF, для очистки внешнего URL-адреса для метаданных, изображения плаката и т. д. Есть ли способ сделать это? - person Bob Donahue; 08.04.2016