美文网首页
flask模板继承

flask模板继承

作者: 张大超Charlie | 来源:发表于2019-05-10 21:37 被阅读0次

    模板继承笔记:

    为什么需要模板继承:

    模板继承可以把一些公用代码单独抽取出来放到一个父模板中,以后子模版直接继承就可以使用。这样重复的代码修改起来也比较方便。

    模板继承语法:

    使用‘extend’语句,来指明继承的父模板。

    示例代码:

    {% extends 'base.html' %}
    

    block语法:

    一般在父模版中,定义一些公共的代码。子模版可能要根据具体的需求实现不同的代码。

    这时候父模版就应该提供一个接口,让父模版来实现。从而实现具体业务需求的功能。

    在父模版中:

    {% block block的名字 %}
    {% endblock %}
    

    在子模版中:

    {% extends 'base.html' %}
    {% block body_block %}
        子模板代码
    {% endblock %}
    

    调用父模版的代码block中的代码:

    默认情况下,子模版如果实现了父模版定义的block,那么子模版block中的代码就会覆盖掉父模版中的代码,如果想在子模版中仍然保持父模版代码,需要用super() 函数调用。具体代码如下:

    {% block body_block %}
        {{ super() }}    {#super()调用父模版代码#}
        <p style="background-color: green;">首页子模板代码</p>
    {% endblock %}
    

    调用另一个block中的代码:

    一个模板中使用其他模板的代码。那么可以通过'{{ self.其他block名字() }}'

    示例代码如下:

    {% block another_block %}
        我是另一个模板的代码
    {% endblock %}
    {% block body_block %}
        {{ self.another_block() }}
        <p style="background-color: green;">首页子模板代码</p>
    {% endblock %}
    

    其他注意事项:

    1. 子模版中的代码,第一行应该是继承的代码。'extends'.

    2. 子模版中,如果要实现自己的代码,应该放到block中,如果放到外面,将无法被渲染。

    相关文章

      网友评论

          本文标题:flask模板继承

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