Django CMS — вызов cmsplugin в теге шаблона

Моя проблема

В Django CMS 2.3.3 при создании страницы я использую cmsplugin_picture* рядом с парой других cmsplugins. В моем шаблоне cms вместо выполнения:

{% placholder "content" %}  //calling the Django Page including all plugins...

Я хотел бы вызывать каждый cmsplugin отдельно, но как мне это сделать? Я посмотрел шаблон тега Django (фильтры) здесь, а также изучил шаблон Django CMS теги здесь, но ни один из них не предполагает такой возможности. Я должен сказать, что я новичок, поэтому я мог не соединить точки...

Чего я пытаюсь достичь:

В моем шаблоне у меня есть тег IMG (вне тега {% placeholder "content" %}), который я хочу заполнить URL-адресом изображения, который я определяю в моей странице/cmsplugin_picture. Поэтому я ищу тег-заполнитель, который позволяет мне захватить это изображение. В самых смелых мечтах я бы назвал его:

{% show_placeholder "content" request.current_page.get_cmsplugin_picture %}

Очевидно, что описанное выше не работает, но существует ли что-то подобное?

** Я также пробовал cmsplugin_filer, но для меня не обязательно лучше решить эту конкретную проблему. *

РЕДАКТИРОВАТЬ: Что я имею в виду под Page/cmsplugin_picture -> На странице Django CMS вы можете выбирать между установленными cmsplugins для добавления на страницу. В моем случае я выбираю cmsplugin_picture и загружаю изображение (внутри этого плагина). Это изображение я хочу «вызвать» в своем шаблоне Django. Так что это не статический URL, а динамический.


person Tim Smith    schedule 28.10.2012    source источник
comment
Я думаю, что у меня проблемы с пониманием вопроса. ..., который я определяю на своей странице/cmsplugin_picture. Вы хотите жестко закодировать URL-адрес, чтобы в заполнителе изображения было изображение по умолчанию?   -  person jamesplease    schedule 29.10.2012
comment
Спасибо jmeas за интерес, я уточнил вопрос.   -  person Tim Smith    schedule 30.10.2012


Ответы (1)


Вы должны сделать второй заполнитель там, где находится ваш тег img (и при желании ограничить типы и количество плагинов, используя CMS_PLACEHOLDER_CONF (http://docs.django-cms.org/en/2.3.3/getting_started/configuration.html#cms- заполнитель-конф.).

person ojii    schedule 31.10.2012
comment
Отлично работает! Спасибо, ojii Решение: в Settings.py CMS_PLACEHOLDER_CONF = { 'pica': { "plugins": ['PicturePlugin'] }, } // creates new placeholder option in admin в my-template.html {% placeholder 'pica' %} // displays full img tag - person Tim Smith; 01.11.2012