美文网首页
Flask——模板继承

Flask——模板继承

作者: Gavininn | 来源:发表于2019-05-30 15:24 被阅读0次

在模板中,可能会遇到以下情况:

  • 多个模板具有完全相同的顶部和底部内容
  • 多个模板中具有相同的模板代码内容,但是内容中部分值不一样
  • 多个模板中具有完全相同的 html 代码块内容

像遇到这种情况,可以使用 JinJa2 模板中的 继承 来进行实现

模板继承是为了重用模板中的公共内容。一般Web开发中,继承主要使用在网站的顶部菜单、底部。这些内容可以定义在父模板中,子模板直接继承,而不需要重复书写。

  • 标签定义的内容
{% block top %} {% endblock %}
  • 相当于在父模板中挖个坑,当子模板继承父模板时,可以进行填充。
  • 子模板使用 extends 指令声明这个模板继承自哪个模板
  • 父模板中定义的块在子模板中被重新定义,在子模板中调用父模板的内容可以使用super()

父模板代码:

base.html

{% block top %}
  顶部菜单
{% endblock top %}

{% block content %}
{% endblock content %}

{% block bottom %}
  底部
{% endblock bottom %}

子模板代码:

  • extends指令声明这个模板继承自哪
{% extends 'base.html' %}
{% block content %}
 需要填充的内容
{% endblock content %}

模板继承使用时注意点:

  1. 不支持多继承

  2. 为了便于阅读,在子模板中使用extends时,尽量写在模板的第一行。

  3. 不能在一个模板文件中定义多个相同名字的block标签。

  4. 当在页面中使用多个block标签时,建议给结束标签起个名字,当多个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/fmlvtctx.html