美文网首页
flask中的宏

flask中的宏

作者: 胖虎很可爱 | 来源:发表于2018-04-20 15:54 被阅读0次

    对宏(macro)的理解:

    • 把它看作 Jinja2 中的一个函数,它会返回一个模板或者HTML字符串
    • 为了避免反复地编写同样的模板代码,出现代码冗余,可以把他们写成函数以进行重用
    • 需要在多处重复使用的模板代码片段可以写入单独的文件,再包含在所有模板中,以避免重复

    使用

    • 定义宏
    {% macro input(name,value='',type='text') %}
        <input type="{{type}}" name="{{name}}"
            value="{{value}}" class="form-control">
    {% endmacro %}
    
    • 调用宏
    {{ input('name' value='zs')}}
    
    • 这会输出
    <input type="text" name="name"
        value="zs" class="form-control">
    
    • 把宏单独抽取出来,封装成html文件,其它模板中导入使用,文件名可以自定义macro.html
    {% macro function(type='text', name='', value='') %}
    <input type="{{type}}" name="{{name}}"
    value="{{value}}" class="form-control">
    
    {% endmacro %}
    
    • 在其它模板文件中先导入,再调用
    {% import 'macro.html' as func %}
    {% func.function() %}
    

    相关文章

      网友评论

          本文标题:flask中的宏

          本文链接:https://www.haomeiwen.com/subject/cyqzkftx.html