0

我正在尝试在 jinja 文件中使用宏。这是我的代码:

{{ display(class = "hello") }}

{% macro display(class) %}
    this is a macro
{% endmacro %}

这很简单,从我所看到的所有例子来看,它应该可以工作。但是,当我去运行程序时,会出现这个错误:

第 123 行,在顶级模板代码 {{ display(class = "hello") }}

有什么想法吗?

编辑:我最初在标题中使用了 yaml 而不是 jinja。我很抱歉。

4

1 回答 1

2

必须先定义或导入宏,然后才能使用它

Jinja 网站上的示例显示:

{% 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-06-07T17:49:03.177 回答