一、宏 macro类似常规编程语言中的函数,把常用行为当做函数,取代手工重复的动作
二、 macro的变量只能为以下三种:
1.参数变量
2.module变量
3.call的变量
三、和block的关系
macro 的重心在于替换简单的重复性质的代码.
block 的重心在于重复框架代码的替换.
例子:
定义宏函数static()
应用:
继续例子:
{% macro input(name,type='text',value='') %}
<input type="{{ type }}" name="{{ name }}" value="{{ value }}">
{% endmacro %}
<p>{{ input('username', value='user') }}</p>
<p>{{ input('password', 'password') }}</p>
<p>{{ input('submit', 'submit', 'Submit') }}</p>