我们正在尝试覆盖包含模板中的块,如下所示:
#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
我本来希望至少第二个默认主内容被覆盖的内容替换。
我认为这是错误。
复制。
的?
编辑:这是哪个问题的重复?
呃,更糟糕的是,Django 模板也不这样做(见最后的注释:https://docs.djangoproject.com/en/1.11/ref/templates/builtins/#include)
我想也许jinja2会,它会为我节省很多重复>_<
无论如何,我想我只需要找到一种方法来简化事情:(