继承flask / jinja2模板时,是否可以添加新块?

时间:2014-07-26 18:33:21

标签: flask jinja2

在烧瓶中继承模板时是否可以添加更多块?

我有一个来自flask-bootstrap的基本模板,我想添加一个块(在我自己的base.html中)

我尝试了一种简单的方法(只需在我的base.html中添加更多块)。然而,似乎忽略了新的块。我可以通过在现有的"内容中创建嵌套块来模拟所需的行为。阻止,但是我必须将{{super()}}样板放入每个模板中。

有没有办法只添加更多的块?

1 个答案:

答案 0 :(得分:3)

您可以添加新块,但必须在父模板中存在的块内定义它们。例如,如果在扩展程序的模板中定义了content

<body>
    {% block content %}{% endblock %}
</body>

然后,您可以在基本模板

中定义其中的块
{% block content %}
    {% block header %}{% endblock %}
    {% block body %}{% endblock %}
    {% block footer %}{% endblock %}
{% endblock %}

然后在您的页面模板中,您可以扩展基本模板并根据需要覆盖其块。