Тег условного включения в Django

Я столкнулся с очень странным поведением шаблона Django. система. У меня есть файл шаблона, а именно test.html, который рекурсивно включает себя:

{% include "test.html" %}

Конечно, такой шаблон не может быть отрендерен, так как нет условия завершения. Хорошо, попробуем следующее:

{% if test_false %}{% include "test.html" %}{% endif %},

где test_false— это переменная, переданная в шаблон и равная False.

Можно было бы ожидать, что он просто ничего не будет включать, но он включает:

RuntimeError at /test/
maximum recursion depth exceeded while calling a Python object

Я не понимаю. Тег Include может принимать аргументы из текущего контекста, поэтому я сомневаюсь, что он выполняется перед любой другой частью страницы. Тогда почему он игнорирует тег условия?

5
задан Andrei Smolensky 8 June 2012 в 13:58
поделиться