jinja2是python的模板引擎, 在写python web使用的过程中,macro可以节省大量的代码
比如上一篇的渲染页面
用户注册
用宏实现:新建一个html,用macro 修饰内容(比如大量格式重复,只字段名不重复的内容)
{% macro render_field(field) %}
{{ field.label }}
{{ field(**kwargs) }}
{% if field.errors %}
{% for error in field.errors %}
{{ error }}
{% endfor %}
{% endif %}
{% endmacro %}
在页面里面导入,并渲染
{% import 'helper.html' as helper %}
用户注册
效果一样