Я пытаюсь вызвать блок внутри условия if в шаблоне django.
У меня есть base template
. У меня есть много других шаблонов, которые расширяют базовый шаблон.
Я определил блок в базовом шаблоне:
{% block test_block %}Test{% endblock %}
Затем я хочу переопределить этот блок при определенном условии в других шаблонах. Если условие не выполняется, блок не должен переопределяться. Это то, что я написал:
{% if test_value %}{% block test_block %}Development{% endblock %}{% endif %}
Это фактически (или может быть практически) игнорирует условие if.
Что я наконец сделал:
{% block test_block %}{% if test_value %}Development{% else %}{{ block.super }}{% endif %}{% endblock %}
Мне нужно было сделать что-то подобное во всем, что требовалось.
Это лучший способ? Это единственный способ? Почему я не могу попробовать первый способ? Или есть какая-то ошибка с моей стороны?