0

我的模板结构如下:

"base.jinja2"
{% macro a_macro() %}
   {# Something #}
{%- endmacro %}

{# Something #}
{% include "the_second_template.jinja2" %}

"the_second_template.jinja2"
{{ a_macro() }} {# call a_macro function #}

对于这种情况,调用“a_macro”函数的语句不能执行“the_second_template.jinja2”文件中的“a_macro”函数。

那么,有没有办法做到这一点?或者有什么想法做类似的事情?

谢谢

4

2 回答 2

2

来自文档:如果宏是在不同的模板中定义的,则必须先导入它。

于 2013-05-17T13:05:23.797 回答
1
"the_second_template.jinja2"

{% import "base.jinja2" as html %}

{{ html.a_macro() }} {# call a_macro function #}
于 2013-05-20T16:12:04.557 回答