【问题标题】:Parameterized reusable blocks with Jinja2 (Flask) templating engine带有 Jinja2 (Flask) 模板引擎的参数化可重用块
【发布时间】:2023-03-22 14:12:01
【问题描述】:

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

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

然后在各个地方:

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

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

【问题讨论】:

    标签: python flask jinja2


    【解决方案1】:

    您可以使用宏。

    {% 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>
    

    更多文档here

    【讨论】:

      【解决方案2】:

      我想你在找macros

      【讨论】:

        猜你喜欢
        • 2013-08-19
        • 2012-06-21
        • 1970-01-01
        • 1970-01-01
        • 2017-08-28
        • 1970-01-01
        • 2012-04-10
        • 1970-01-01
        • 2018-05-04
        相关资源
        最近更新 更多