gpt4 book ai didi

flask - 在 jinja2 中包装 block

转载 作者:行者123 更新时间:2023-12-05 03:14:15 25 4
gpt4 key购买 nike

我有两个 jinja2 模板,其中第二个模板扩展了第一个模板:

<h1>Some title</h1>
{% block content %}
{% endblock %}

{% block content %}
content
{% endblock %}

现在我希望能够在这两个模板之间插入可变数量的“包装器”,其中第二个模板扩展了包装器(它扩展了下一个包装器)*,它扩展了第一个模板。包装器可能如下所示:

{% block content %}
<div class="wrapper">
{% block content %}
{% endblock %}
</div>
{% endblock %}

我希望这会产生以下呈现的 HTML:

<h1>Some title</h1>
<div class="wrapper">
content
</div>

不幸的是,上面的包装器模板在 jinja2 中无效,因为 block 不能像这样工作。那么有没有办法在jinja2中做我想做的事情呢?如果没有:是否有任何其他模板引擎能够做到这一点?

(请注意,重命名内部 block 是行不通的,因为我需要能够添加可变数量的包装器。)

最佳答案

{% block content %}
<div class="wrapper">
{{ super() }}
</div>
{% endblock %}

来自 Jinja2 docs :

It’s possible to render the contents of the parent block by calling super. This gives back the results of the parent block:

关于flask - 在 jinja2 中包装 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25975075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com