宏 macro
概述: 类似python中的函数
主体结构
{% macro 名称([参数]) %}
{% endmacro %}
实例
自定义一个创建单行文本域的宏
{# 自定义一个创建表单里单行文本域的标签 #}
{% macro form(inputName,type,name,value='') %}
<p>{{ inputName}}<input type="{{ type }}" name="{{ name }}" value="{{ value }}"></p>
{% endmacro %}
宏的导入和调用
from ... import ...
{% from 'macrotest.html' import form %}
{{ form('用户名:','text','username') }}
{{ form('密码:','password','userpass') }}
{{ form('','submit','submit','登录') }}
import ... as ...
{% import 'macrotest.html' as macroform %}
{{ macroform.form('用户名:','text','username') }}
{{ macroform.form('密码:','password','userpass') }}
{{ macroform.form('','submit','submit','登录') }}
注意:
-
只能在宏定义的下方去掉用
-
如果宏存在形参 且没有默认值 则可以不传实参(不建议)
-
实参个数不能大于形参个数
-
形参默认值遵循默认值规则 有默认值的放在右侧
-
在参数定义处 不存在**kwargs的使用 在调用处可以使用