1

エラー: 無効なブロック タグ: 'endif'。

最初にエラーの内容について-テンプレート全体を条件にラップしました:

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

そして、これによりdjangoがエラーをスローします:

/mypage/ の TemplateSyntaxError 無効なブロック タグ: 'endif'

しかし、問題は明らかに classytags/sekizai にあります。

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

エラーなしでレンダリングされます。

このエラーを回避または修正する方法を知っている人はいますか?

2番目の部分-私が達成しようとしているのは-リクエストがajaxリクエストの場合、多少異なるHTMLページを表示したいです。条件は、request.is_ajax の場合です。しかし、私の要点をより明確に説明するために変更した場合。私は django-cms を使用していますが、各ページに 1 つのテンプレートしか設定できません。そして、同じコンテンツを提供できても、ajaxリクエストの場合に周囲のhtmlが異なる場合、これは問題になりませんが、残念ながらレンダリングは失敗します...

4

1 に答える 1

1

ドキュメントでは、別のテンプレート タグ ブロック内で {% render _block ... %} を使用することは許可されていないことは明らかです。

レンダリングされたブロック内の条件の場合、それを行うことはできませんか?

編集:質問が最近のものではないことに気づきました。しかたがない。どのようにして問題を解決したのか興味があります...

于 2014-02-20T14:22:41.647 に答える