djangoテンプレートのif条件内のブロックを呼び出そうとしています。
私は持ってい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 %}
私はそれが必要とされるところならどこでもこのようなことをしなければなりませんでした。
これが最善の方法ですか?これが唯一の方法ですか?なぜ私は私の最初の方法を試すことができないのですか?それとも私の側から何か間違いがありますか?