Как работать с шаблонами¶
Приложение может повторно использовать шаблоны cms, смешивая теги шаблонов cms и обычного языка шаблонов django.
static_placeholder¶
Обычный placeholder
нельзя использовать в шаблонах, используемых внешними приложениями, вместо него используйте static_placeholder
.
CMS_TEMPLATE¶
Добавлено в версии 3.0.
CMS_TEMPLATE
- это контекстная переменная, доступная в контексте; она содержит путь к шаблону для страниц CMS и приложений, использующих apphooks, и шаблон по умолчанию (т.е.: первый шаблон в CMS_TEMPLATES
) для URL, не управляемых CMS.
В основном его полезно использовать в теге шаблона extends
в шаблонах приложений для получения текущего шаблона страницы.
Пример: шаблон cms
{% load cms_tags %}
<html>
<body>
{% cms_toolbar %}
{% block main %}
{% placeholder "main" %}
{% endblock main %}
</body>
</html>
Пример: шаблон заявления
{% extends CMS_TEMPLATE %}
{% load cms_tags %}
{% block main %}
{% for item in object_list %}
{{ item }}
{% endfor %}
{% static_placeholder "sidebar" %}
{% endblock main %}
CMS_TEMPLATE
запоминает путь к шаблону cms, чтобы шаблон приложения мог динамически импортировать его.
render_model¶
Добавлено в версии 3.0.
render_model
позволяет редактировать модели django из фронтенда, используя редактор фронтенда django CMS.