美文网首页
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中,如果放到外面,将无法被渲染。

相关文章

  • 2.8 jinja2 模板继承

    模板继承 Flask中的模板可以继承,通过继承可以把模板中许多重复出现的元素抽取出来,放在父模板中,并且父模板通过...

  • Flask系列教程(12)——模板继承

    模版继承 Flask中的模板可以继承,通过继承可以把模板中许多重复出现的元素抽取出来,放在父模板中,并且父模板通过...

  • Flask模板继承

    关于继承,都是面向对象的三大特征中的其中一种,所以如果有别的面向对象语言基础,关于继承个概念,也不用多讲.Flas...

  • Flask——模板继承

    在模板中,可能会遇到以下情况: 多个模板具有完全相同的顶部和底部内容 多个模板中具有相同的模板代码内容,但是内容中...

  • flask模板继承

    模板继承笔记: 为什么需要模板继承: 模板继承可以把一些公用代码单独抽取出来放到一个父模板中,以后子模版直接继承就...

  • Flask框架——蓝图、flask-script

    在上篇文章我们学习了Flask框架——模板复用(继承、包含、宏),这篇文章我们来学习Flask框架——蓝图、命令行...

  • flask-模板的继承

    一、继承的实现 二、目录结构和代码 app.py 公共部分--base.html 继承页面:首页-index.ht...

  • (三) flask表单

    flask表单 一. 原生的表单 (1) 先添加一个login的模板(继承自'bootstarp/base.htm...

  • Flask jinja2模板

    Python Flask JIJIA2模板渲染 A.Flask渲染Jinja2模板和模板传参 如何渲染模板:Fla...

  • Flask---迁移数据库实例以及步骤讲解

    #从flask中导入Flask 实例化flask对象 渲染模板from flaskimport Flask,ren...

网友评论

      本文标题:flask模板继承

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