flask 宏基本使用方法,和引入注意事项

宏,macro,类似于函数,都需要定义,名字、参数。定义好之后,能直接拿过来用。不同点是 宏没有返回值,函数有;宏需要结束的符号,函数不需要。

###基本示例代码如下

{% macro input(name,value="",type="text")%}
        <input type="{{ type }}" name="{{ name }}" value="{{ value }}" >
    {% endmacro %}
{#    实现步骤#}
{#    #定义一个宏,名字为input,里面有三个参数#}
{#    #相当于函数规则的部分,所有的内容用户输入#}
{#    #所有的宏得有结束的地方#}
    <h1>hi,少年,请先亮青子</h1>
    <table>
        <tbody>
            <tr>
                <td>用户名:</td>
                <td>{{ input('username') }}</td>
            </tr>
            <tr>
                <td>密码:</td>
                <td>{{ input('username' ,type='password')}}</td>
            </tr>
            <tr>
                <td></td>
                <td>{{ input(value='提交' ,type='submit')}}</td>
            </tr>
        </tbody>
    </table>

上文中宏直接写到html文件中,实际开发过程中一般将宏,统一存放到template中,然后引入

引入的时候,是针对 template 绝对路径 

示例代码: 

{% from 'macro/macro.html' import input %}

 html文件中写好 context,可以直接引入的宏中,再通过宏添加到 html  中

{% import 'macro/macro.html' as macro with context %}
{#以上是导入方式,常用的是下面这种,因为一个模板中可以存多个宏,但在下面引用的时候,需要指定的宏的名字#}
{#格式  macro.input()#}
{#with context  可以直接将此环境中使用的变量,引用到宏中(宏中也的引用变量),再从宏引用到html中#}

猜你喜欢

转载自blog.csdn.net/hebi123s/article/details/81977986