Flask框架模板继承实现方法分析

yipeiwu_com6年前Python基础

本文实例讲述了Flask框架模板继承实现方法。分享给大家供大家参考,具体如下:

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

  • 多个模板具有完全相同的顶部和底部内容
  • 多个模板中具有相同的模板代码内容,但是内容中部分值不一样
  • 多个模板中具有完全相同的 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 %}

模板继承使用时注意点:

  • 不支持多继承
  • 为了便于阅读,在子模板中使用extends时,尽量写在模板的第一行。
  • 不能在一个模板文件中定义多个相同名字的block标签。
  • 当在页面中使用多个block标签时,建议给结束标签起个名字,当多个block嵌套时,阅读性更好。

希望本文所述对大家基于flask框架的Python程序设计有所帮助。

相关文章

通过Py2exe将自己的python程序打包成.exe/.app的方法

通过Py2exe将自己的python程序打包成.exe/.app的方法

Windows 10 x64 macOS Sierra 10.12.4 Python 2.7 准备好装哔~了么,来吧,做个真正意义上的绿色小软件 Win下发布应用 起因 今天实验室同学看...

Python线程创建和终止实例代码

python主要是通过thread和threading这两个模块来实现多线程支持。 python的thread模块是比較底层的模块,python的threading模块是对thread做...

python简易远程控制单线程版

本文实例为大家分享了python简易远程控制的具体代码,供大家参考,具体内容如下 1. 技术:管道通信,流文件处理,socket基础 2. Tips: 默认IP:127.0.0.1 默认...

用tensorflow构建线性回归模型的示例代码

用tensorflow构建简单的线性回归模型是tensorflow的一个基础样例,但是原有的样例存在一些问题,我在实际调试的过程中做了一点自己的改进,并且有一些体会。 首先总结一下tf构...

Python3调用微信企业号API发送文本消息代码示例

本文主要向大家分享了Python3调用微信企业号API发送文本消息示例的有关代码,具体如下: #!/usr/bin/env python # -*- coding:utf-8 -*-...