Djangoテンプレートシステムの非常に奇妙な動作に遭遇しました。テンプレートファイルがあります。つまりtest.html
、再帰的にそれ自体が含まれています。
{% include "test.html" %}
もちろん、仕上げ条件がないため、このようなテンプレートをレンダリングする機会はありません。OK、次のことを試してみましょう。
{% if test_false %}{% include "test.html" %}{% endif %},
ここで、test_false
はテンプレートに渡され、に等しい変数ですFalse
。
何も含まれないと予想されますが、次のようになります。
RuntimeError at /test/
maximum recursion depth exceeded while calling a Python object
理解できません。インクルードタグは現在のコンテキストから引数を取ることができるので、ページの他の部分の前に実行されるとは思えません。では、なぜ条件タグを無視するのでしょうか。