宏是一个页面中可以重复使用的部分,相当于一个函数。宏使用{% marco %}指令定义,定义和调用格式可参考下例。

{% marco list(users) %}
{% for user in user %}
{{ user.name }}
{% endfor %}
{% endmarco %}

{{ list(loginUnsers) }}

在日常开发中,常常将宏定义在独立的文件中,这种宏可以像Python引用模块一样导入。语句格式为import...as...from...import...或者from...import...as...。导入模板不会将当前模板的上下文添加到被导入的模板中,如果需要传入上下文,可以使用语句from...import...with context

宏文件中可以引用其他的宏,这是使用语句include来完成的。这条语句相当于将另一个模板复制到当前模板的指定位置。