次のように、含まれているテンプレートのブロックをオーバーライドしようとしています。
#included.jinja2
{% block master %}
Default master content
{% endblock %}
#base.jinja2
{% include "included.jinja2" %}
{% include "included.jinja2" with context %}
{% block master %}
Fnord
{% endblock master %}
#hello.jinja2
{% extends "base.jinja2" %}
{% block master %}
Overridden master content
{% endblock master %}
hello.jinja2ファイルを実行すると、この出力が表示されます
Default master content
Default master content
Overridden master content
少なくとも2番目のデフォルトのマスターコンテンツがオーバーライドされたコンテンツに置き換えられることを期待していました。
それがバグだと思います。
複製。
の?
編集:これはどの問題と重複していますか?
さらに悪いことに、Djangoテンプレートもそれを行いません(最後の注を参照してください:https://docs.djangoproject.com/en/1.11/ref/templates/builtins/#include)
おそらくjinja2がそうするだろうと思ったので、多くの重複を省くことができます> _ <
とにかく、私は物事を単純化する方法を見つける必要があると思います:(