一、关于Flask中的宏
类似于python中的函数,宏的作用就是在模板中重复利用代码,避免代码冗余。
Jinja2支持宏,还可以导入宏,需要在多处重复使用的模板代码片段可以写入单独的文件,再包含在所有模板中,以避免重复。
二、宏的定义和使用
1、不带参数宏的定义和使用
<!-- 定义, 相当于定义一个函数一样 -->
{
% macro input() %}
<input type="text" name='username' value=''>
{
% endmacro %}
<!-- 使用, 相当于调用一个函数一样 -->
{
{
input() }}
2、带参数宏的定义和使用 (与函数是一样的,可以有必须参数和默认参数)
<!-- 定义 -->
{
% macro input2(name, value='', type='text', size=30) %}
<input type="{
{ type }}" name="{
{ name }}" value="{
{ value }}" size="{
{ size }}">
{
% endmacro %}
<!-- 使用 -->
{
{