Я столкнулся с очень странным поведением шаблона 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 может принимать аргументы из текущего контекста, поэтому я сомневаюсь, что он выполняется перед любой другой частью страницы. Тогда почему он игнорирует тег условия?