Conditional include tag in Django
django, django-templates
Solution
Django has optimization that include templates that are given by constants at compilation.
Set name of template to variable and include it in that way:
{% include test_template %}
Django will not be able to use it's optimization and your code should work.
Problem
I've ran into very strange behavior of Django template system. I have a template file, namely `test.html`, which recursively includes itself: ``` {% include "test.html" %} ``` Of course, such template has no chance to be rendered, since there is no finishing condition. OK, let's try the following: ``` {% if test_false %}{% include "test.html" %}{% endif %}, ``` where `test_false` is a variable passed to template and equal to `False`. One expects that it just will not include anything, but it does: ``` RuntimeError at /test/ maximum recursion depth exceeded while calling a Python object ``` I don't get it. Include tag can take arguments from current context, so I doubt it is executed before any other part of the page. Then why does it ignore condition tag?