8

在 Jinja2 模板引擎(使用 Flask)中,我想实现这样的目标:

{% reusable_block avatar(user) %}
     <img src='{{ user.avatar }}' title='{{ user.name }}'/> 
{% reusable_block %}

然后在各个地方:

{% for u in users %}
    {% call avatar(u) %}
{% endfor %}

reusable_blocks但是我在 Jinja 文档中找不到这样的功能(我弥补了这个问题)。我需要的基本上是可以带参数的可重用块。有什么想法知道我怎么能用 Jinja2 做到这一点?

4

2 回答 2

13

您可以使用宏。

{% macro input(name, value='', type='text', size=20) -%}
    <input type="{{ type }}" name="{{ name }}" value="{{value|e }}" size="{{ size }}">
{%- endmacro %}


<p>{{ input('username') }}</p>
<p>{{ input('password', type='password') }}</p>

更多文档在这里

于 2013-02-27T08:30:50.423 回答
2

我认为您正在寻找

于 2013-02-27T08:28:58.207 回答