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ただし、ジンジャのドキュメントでそのような機能を見つけることができません (この質問を補った)。私が必要としているのは、基本的に、パラメーターを取ることができる再利用可能なブロックです。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 に答える