2016-04-06 4 views
1

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

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

Что мне не хватает? Любой указатель на документы или рабочий пример был бы высоко оценен.

ответ

4

Это можно сделать с помощью простого 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 }} 
+0

Это выполнило свою работу, но я надеялся, что каким-то образом я смогу использовать внутреннюю операцию, которую виджет RTF делает t o очистить внешний URL для метаданных, изображения плаката и т. д. Есть ли способ сделать это? –