Не работает {% page_url %} в django cms

2 декабря 2016 г. 22: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 из 5 (всего 0 оценок)

Поля, отмеченные звёздочкой ( * ) , являются обязательными.

Спасибо за ваш отзыв!

После нажатия кнопки "Отправить" ваше сообщение будет доставлено мне на почту.

Автор статьи

Права на использование материала, расположенного на этой странице http://vivazzi.pro/it/page-url-does-not-work/:

Разрешается копировать материал с указанием её автора и ссылки на оригинал без использования параметра rel="nofollow" в теге <a>. Использование:

Автор статьи: Мальцев Артём
Ссылка на статью: <a href="http://vivazzi.pro/it/page-url-does-not-work/">http://vivazzi.pro/it/page-url-does-not-work/</a>

Подробнее: Правила использования сайта

Комментариев: 0

Вы можете оставить комментарий как незарегистрированный пользователь. Но, зарегистрировавшись, вы сможете получать оповещения об ответах, а также иметь доступ к своему личному аккаунту для просмотра своих комментариев.

Чтобы оставить комментарий от своего имени войдите или зарегистрируйтесь обычным способом или через социальные сети:

Отправить

На данный момент нет специального поиска, поэтому я предлагаю воспользоваться обычной поисковой системой, например, Google, добавив "vivazzi" после своего запроса.

Попробуйте