美文网首页
04-flask模板

04-flask模板

作者: 学飞的小鸡 | 来源:发表于2018-10-20 15:11 被阅读0次

    四、 模板

    • 概念
    - 模板是用户展示数据
    - 模板处理(加载、渲染)
    
    • 模板语法
    - 变量 {{ var }}
        视图传递数据给模板
        变量不存在,即忽略
        
    - 标签 {% tag %}
        逻辑控制
    
    • 条件控制if
    {% if 条件 %}
    {% elif 条件 %}
    {% else %}
    {% endif %}
    
    • 遍历for
    {% for name in names %} 
        # 有数据处理
    {% else %}
        # 没有数据处理
    {% endfor %}
    
    • 结构标签 block
    {% block xxx %}
        {{ super() }}  # 继承后保留父内容,不写会覆盖
    {% end block %}
    
    • 结构标签 extends
    - 语法(模板继承)
        # 继承
        {% extends 'xxxx' %}
    
    • 结构标签 include
    {% include 'xxx.html' %}
    

    将大的页面,切分为一个个小的模块,通过include进行拼接;

    • 宏定义 macro(可以理解成一个函数)
    1. 不带参数
        - 宏定义
        {% macro run() %}
            <P>宏定义,测试...</p>
        {% endmacro %}
        
        - 宏定义 调用
        {{ run() }}
    
    2. 带参数
        - 宏定义
        {% macro create_li(name) %}
            <li>{{ name }}</li>
        {% endmacro %}
        
        - 宏定义调用
        <ul>
            {% for name in names %}
                {{ create_li(name) }}    
            {% endfor %}
        </ul>
    
    3. 引入其他文件中的宏定义
    {% from 'mymacro.html' import create_goods %}  # 导入其他模块的宏定义
    {{ create_goods(goods_list) }}  # 调用宏定义
    

    宏定义类似于函数;将重复的操作、重复的功能封装起来,方便后续调用!

    • 过滤器
    {{ name | default('未登录') }}  # 默认值
    {{ name | capitalize }} # 首字母大写
    {{ name | lower }}  # 全小写
    {{ name | upper }}  # 全大写
    {{ name | safe }}  # 防止转义
    {{ name | round(2, 'floor') }}  # 保留两位小数
    

    相关文章

      网友评论

          本文标题:04-flask模板

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