在模板中定义的变量有三种类型:
Ø plain变量:可以在模板的任何地方访问,包括使用include指令插入的模板,使用assign指令创建和替换。
Ø 局部变量:在宏定义体中有效,使用local指令创建和替换。
Ø 循环变量:只能存在于指令的嵌套内容,由指令(如list)自动创建;宏的参数是局部变量,而不是循环变量。
局部变量隐藏(而不是覆盖)同名的plain变量;
循环变量隐藏同名的局部变量和plain变量。
模板中的变量会隐藏(而不是覆盖)数据模型中同名变量,如果需要访问数据模型中的同名变量,使用特殊变量 global,
下面的例子假设数据模型中的