Не работает {% page_url %} в django cms
3 декабря 2016 г. 3:46
Когда перестаёт работать какой-нибудь django-cms тег (например {% page_url %}), проверьте передали ли вы context при рендере шаблона. Эту ошибку я описывал в статье You must enable the 'sekizai.context_processors.sekizai'. В ней эта ошибка более подробно расписана, и, чтобы не повторяться, я просто приведу пример правильного использования context для того, чтобы заработал рендер шаблона:
@register.inclusion_tag('quote.html', takes_context=True)
def get_quote(context):
context['quote'] = Quote.objects.last()
return context
И сам шаблончик quote.html:
{% load cms_tags %}
<blockquote>
<p>{{ quote.text|linebreaksbr }}</p>
{% page_url 'quote-authors' as quote_authors_url %}
{% if quote_authors_url %}<a href="{{ quote_authors_url }}" class="author">{{ quote.author }}</a>
{% else %}<p class="author">{{ quote.author }}</p>{% endif %}
</blockquote>
Похожие статьи:
Представляю вашему вниманию книгу, написанную моим близким другом Максимом Макуриным: Секреты эффективного управления ассортиментом.
Книга предназначается для широкого круга читателей и, по мнению автора, будет полезна специалистам отдела закупок и логистики, категорийным и финансовым менеджерам, менеджерам по продажам, аналитикам, руководителям и директорам, в компетенции которых принятие решений по управлению ассортиментом.
Комментарии: 0