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


Posted in Python onJuly 31, 2019

本文实例讲述了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程序设计有所帮助。

Python 相关文章推荐
在Python程序中操作MySQL的基本方法
Jul 29 Python
Python编程中time模块的一些关键用法解析
Jan 19 Python
Python中functools模块函数解析
Mar 12 Python
python 编写简单网页服务器的实例
Jun 01 Python
python 图像平移和旋转的实例
Jan 10 Python
3行Python代码实现图像照片抠图和换底色的方法
Oct 10 Python
python函数声明和调用定义及原理详解
Dec 02 Python
浅析关于Keras的安装(pycharm)和初步理解
Oct 23 Python
分享一枚pycharm激活码适用所有pycharm版本我的pycharm2020.2.3激活成功
Nov 20 Python
如何利用python和DOS获取wifi密码
Mar 31 Python
Keras多线程机制与flask多线程冲突的解决方案
May 28 Python
Python之matplotlib绘制饼图
Apr 13 Python
Flask框架模板渲染操作简单示例
Jul 31 #Python
opencv导入头文件时报错#include的解决方法
Jul 31 #Python
python Matplotlib底图中鼠标滑过显示隐藏内容的实例代码
Jul 31 #Python
Django上使用数据可视化利器Bokeh解析
Jul 31 #Python
Flask框架单例模式实现方法详解
Jul 31 #Python
pycharm配置当鼠标悬停时快速提示方法参数
Jul 31 #Python
详细介绍Python进度条tqdm的使用
Jul 31 #Python
You might like
php实现读取和写入tab分割的文件
2015/06/01 PHP
PHP模拟QQ登录的方法
2015/07/29 PHP
浅谈PHP中静态方法和非静态方法的相互调用
2016/10/04 PHP
Laravel给生产环境添加监听事件(SQL日志监听)
2017/06/19 PHP
PHP常量DIRECTORY_SEPARATOR原理及用法解析
2020/11/10 PHP
使用JS操作页面表格,元素的一些技巧
2007/02/02 Javascript
javascript学习(二)javascript常见问题总结
2013/01/02 Javascript
js跳转页面方法实现汇总
2014/02/11 Javascript
JavaScript基础篇(6)之函数表达式闭包
2015/12/11 Javascript
javascript 的变量、作用域和内存问题
2017/04/19 Javascript
详解webpack运行Babel教程
2018/06/13 Javascript
微信小程序实现获取准确的腾讯定位地址功能示例
2019/03/27 Javascript
[47:52]DOTA2-DPC中国联赛正赛 iG vs LBZS BO3 第二场 3月4日
2021/03/11 DOTA
Python代理抓取并验证使用多线程实现
2013/05/03 Python
python模拟Django框架实例
2016/05/17 Python
Python列表推导式与生成器表达式用法示例
2018/02/08 Python
python用fsolve、leastsq对非线性方程组求解
2018/12/15 Python
python opencv如何实现图片绘制
2020/01/19 Python
python3 配置logging日志类的操作
2020/04/08 Python
如何利用Python 进行边缘检测
2020/10/14 Python
详解CSS透明opacity和IE各版本透明度滤镜filter的最准确用法
2016/12/20 HTML / CSS
HTML5的结构和语义(5):内嵌媒体
2008/10/17 HTML / CSS
Ray-Ban雷朋美国官网:全球领先的太阳眼镜品牌
2016/07/20 全球购物
捷克母婴用品购物网站:Feedo.cz
2020/12/28 全球购物
华为消费者德国官方网站:HUAWEI德国
2020/11/03 全球购物
接口可以包含哪些成员
2012/09/30 面试题
财务担保书范文
2014/04/02 职场文书
个人合作协议书范本
2014/04/18 职场文书
幼儿生日活动方案
2014/08/27 职场文书
成都人事代理协议书
2014/10/25 职场文书
会议欢迎词范文
2015/01/27 职场文书
考研导师推荐信范文
2015/03/27 职场文书
劳动仲裁代理词范文
2015/05/25 职场文书
Javascript设计模式之原型模式详细
2021/10/05 Javascript
Sql Server之数据类型详解
2022/02/28 SQL Server
排查MySQL生产环境索引没有效果
2022/04/11 MySQL