我正在尝试在jinja文件中使用宏。这是我的代码:
{{ display(class = "hello") }}
{% macro display(class) %}
this is a macro
{% endmacro %}
这很简单,从我在所见的所有例子中看到的,它应该有效。但是,当我去运行程序时,会发生以下错误:
第123行,在顶级模板代码{{display(class =“hello”)}}
中有什么想法吗?
编辑:我最初在标题中使用了yaml而不是jinja。道歉。答案 0 :(得分:2)
必须在使用之前定义或导入宏。
Jinja site上的示例显示:
{% 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>