// EDIT無効なブロックタグ
私は、標準的なテンプレート言語ではなく、神社を使用しています。標準テンプレート言語はset
タグをサポートしていません。
jinjaを使用して新しい変数を宣言するにはどうすればよいですか?
エラーに次のコードブロックの結果の2行目:
{% set msg_class = "" %}
エラーメッセージ:
ライン13に無効なブロック・タグ:予想「ELIF」「を設定」「そう」または 'endif'。このタグを登録または読み込むのを忘れましたか?
コードの残り:私が見つけた次のスレッドのように配列を使用して
{% if msg %}
{% set msg_class = "" %}
{% if status == 1 %}
{% set msg_class = "alert alert-success" %}
{% elif status == 3 %}
{% set msg_class = "alert alert-danger" %}
{% elif status == 4 %}
{% set msg_class = "alert alert-warning" %}
{% else %}
{% set status = 2 %}
{% set msg_class = "alert alert-info" %}
{% endif %}
{% endif %}
は、私には本当に醜いようです。唯一の解決策ですか?なぜ、このようにそれを簡素化していない
Can a Jinja variable's scope extend beyond in an inner block?
ていますか?これは、標準のDjangoテンプレート言語のエラーです。 –
私はhtmlテンプレートでコードを使用すると、それはjinjaと呼ばれていましたか?私が間違っている? https://en.wikipedia.org/wiki/Jinja_(template_engine) – user2871190
はい、間違っています。 Jinjaは別のテンプレートシステムで、Djangoはサポートしていますが、デフォルトはサポートしていません。 Djangoのサイトでよく書かれている、 'set'タグをサポートしていない標準のテンプレート言語を使用しています。 –