Djangoテンプレートシステムの非常に奇妙な動作に遭遇しました。何の終了条件が存在しないため、このようなテンプレートは、レンダリングされるチャンスを持っていない、もちろんDjangoの条件付きインクルードタグ
{% include "test.html" %}
:私は自分自身を再帰的に含むテンプレートファイル、すなわちtest.html
を、持っています。 OK、のは、次のことを試してみましょう:test_false
テンプレートに渡され、False
に等しい変数である
{% if test_false %}{% include "test.html" %}{% endif %},
。
一つは、それだけでは何も含まれないことを期待していますが、それはありません:
RuntimeError at /test/
maximum recursion depth exceeded while calling a Python object
私はそれを得ることはありません。インクルードタグは現在のコンテキストから引数を取ることができるので、ページの他の部分の前に実行されるのではないかと疑います。なぜそれが条件タグを無視するのですか?