zoukankan      html  css  js  c++  java
  • 模板代码的复用: 宏 继承 包含

    当多个模板具有相同的顶部/底部内容/部分内容时,可以使用这三者来实现

    宏是一个函数, 返回一个模板或者html字符串

    • 定义宏
    {% macro input(name,value='',type='text') %}
        <input type="{{type}}" name="{{name}}"
            value="{{value}}" class="form-control">
    {% endmacro %}
    
    • 调用宏
    {{ input('name' value='zs')}}
    继承: 重用模板公共内容 :
    {% block top %} {% endblock %}
    • 不支持多继承
    • 为了便于阅读,在子模板中使用extends时,尽量写在模板的第一行。
    • 不能在一个模板文件中定义多个相同名字的block标签。
    • 当在页面中使用多个block标签时,建议给结束标签起个名字,当多个block嵌套时,阅读性更好。

    包含: 将另一个模板整个加载到当前模板中,并直接渲染。

    • include的使用
    {% include 'hello.html' %}
    

    包含在使用时,如果包含的模板文件不存在时,程序会抛出TemplateNotFound异常,可以加上 ignore missing 关键字。如果包含的模板文件不存在,会忽略这条include语句。

    • include 的使用加上关键字ignore missing
    {% include 'hello.html' ignore missing %}

    • 宏(Macro)、继承(Block)、包含(include)均能实现代码的复用。
    • 继承(Block)的本质是代码替换,一般用来实现多个页面中重复不变的区域。
    • 宏(Macro)的功能类似函数,可以传入参数,需要定义、调用。
    • 包含(include)是直接将目标模板文件整个渲染出来
  • 相关阅读:
    Linux下文件的压缩和解压
    Env: Linux下Source Insight安装
    [uart]2.tty和uart的函数调用流程
    [uart]stty命令使用
    腾讯云的云数据库MYSQL配置
    MySQL分支Percona
    MYSQL的历史
    MYSQL的价格
    mysql之event
    Linux下设置网卡静态ip
  • 原文地址:https://www.cnblogs.com/zxt-cn/p/9126829.html
Copyright © 2011-2022 走看看