Шаблоны Django / sekizai / classytags выдают ошибку о теге endif

Ошибка: Недопустимый тег блока: 'endif'.

Сначала о том, что ошибка - я обернул весь шаблон в состояние:

{% if something %}
{% else %}
{% load cms_tags sekizai_tags menu_tags %}
{% render_block "css" %}
{% render_block "js" %}
{% endif %}

И это заставляет django выдавать ошибку:

TemplateSyntaxError в /mypage/ недопустимый тег блока: 'endif'

Но проблема явно с classytags/sekizai, как

{% if something %}
{% else %}
<h1>Hello world</h1>
{% endif %}

рендерит без ошибок.

Кто-нибудь знает, как я мог избежать этой ошибки или исправить ее?

Теперь вторая часть - то, что я пытаюсь достичь, - я хочу отобразить несколько другую страницу HTML, когда запрос является запросом ajax. Условие должно быть, если request.is_ajax. Но если изменить, чтобы проиллюстрировать мою точку зрения в более четкой форме. Я использую django-cms, и он позволяет вам установить только один шаблон для каждой страницы. И это не было бы проблемой, если бы я мог обслуживать один и тот же контент, но с другим окружающим html в случае запросов ajax, но, к сожалению, рендеринг не удался...

1 ответ

Что ж, из документации довольно ясно, что использование {% render _block ... %} внутри другого блока тегов шаблона недопустимо.

Не могли бы вы просто сделать это, если условие внутри визуализированного блока?

редактировать: только что заметил, что вопрос был не так свеж. Ну что ж. Любопытно, как вы решили свою проблему...

Другие вопросы по тегам