如何在jinja2中重新定义宏

2024-04-28 09:45:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我用的是通过狮身人面像的jinja2。在我的基本模板(布局.html我有一些宏

{%- macro post_meta(metadata) -%}
    <div class="postmeta">
        {{ author(metadata.author) }}
    </div>
{%- endmacro -%}

我用{%- extends "theme1/layout.html" -%}在2主题中扩展这个模板

我如何在theme2中重新定义post_meta?简单地把post_meta的新定义放在theme2中是行不通的。在

顺便问一下,我如何使用python构建函数,比如:

^{pr2}$

Tags: div模板jinja2定义html布局postmeta
1条回答
网友
1楼 · 发布于 2024-04-28 09:45:44

Q1:您必须创建一个块,以便用基模板中的宏覆盖该块。这是孩子的密码。使用use_child=False:将使用基模板中的宏

^{1}$

问题2:必须注册一个全局Python函数才能使用类型:

^{pr2}$

相关问题 更多 >