Flask宏macro

宏 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','登录') }}

注意:

  1. 只能在宏定义的下方去掉用

  2. 如果宏存在形参 且没有默认值 则可以不传实参(不建议)

  3. 实参个数不能大于形参个数

  4. 形参默认值遵循默认值规则 有默认值的放在右侧

  5. 在参数定义处 不存在**kwargs的使用 在调用处可以使用

猜你喜欢

转载自blog.csdn.net/G_SANGSK/article/details/82747219