Jinja: 无法覆盖包含模板中的块

创建于 2013-01-08  ·  3评论  ·  资料来源: pallets/jinja

我们正在尝试覆盖包含模板中的块,如下所示:

#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

我本来希望至少第二个默认主内容被覆盖的内容替换。

我认为这是错误。

所有3条评论

复制。

的?

编辑:这是哪个问题的重复?

呃,更糟糕的是,Django 模板也不这样做(见最后的注释:https://docs.djangoproject.com/en/1.11/ref/templates/builtins/#include)

我想也许jinja2会,它会为我节省很多重复>_<

无论如何,我想我只需要找到一种方法来简化事情:(

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

glasserc picture glasserc  ·  4评论

mitsuhiko picture mitsuhiko  ·  3评论

humiaozuzu picture humiaozuzu  ·  3评论

jp-costa picture jp-costa  ·  5评论

delroth picture delroth  ·  4评论