flask 宏,继承与包含

flask 的继承是模板的代码的复用

'''
继承定义在模板之中:
 block 标签所做的的所有事情就是告诉模板引擎: 一个子模板可能会重写父模板的这个部分
    对于父模板:
        {% block titleBlock %}
            <title>Title</title>
        {% endblock %}
    对于子模板,相当继承所有的父模板,子模板要更改的地方需要block起来!:
        {% extends 'test1.html' %}
    多重继承要闭合名称:
        {% block topBlock %}
            {% block titleBlock %}
            {% endblock titleBlock %}
        <p>这是父类部分!</p>
        {% endblock topBlock %}
        子类之中调用 super(),相当于继承父类,外加可以实现自己的功能 
'''

flask 的宏相当于函数,可以进行简单的函数编程

'''
宏是定义在模板之中!相当于定义了个函数!
        {# 宏是对代码的封装! #}
        {% macro fun() %}
            <input type="text" name="User" placeholder="User" size="30"> <br>
            <input type="password" name="User" placeholder="Password" size="30"> <br>
            <input type="submit"> <br>
        {% endmacro %}
        {{ fun() }} 调用宏函数!
        {# 模块化调用!调用test3.html模块的fun() #}
        {% import 'test3.html' as f %}
            {# 调用抽取的宏函数! #}
        {{ f.fun() }}
'''

inclue 相当于完全复制父类的代码,它的功能是将另一个模板整个加载到当前模板中,并直接渲染。

{% include 'hello.html' ignore missing %}

 

posted @ 2018-05-22 22:22  十七楼的羊  阅读(159)  评论(0编辑  收藏  举报