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遍历C盘dll文件的方法
May 06 Python
Python中字符串的格式化方法小结
May 03 Python
在IPython中执行Python程序文件的示例
Nov 01 Python
Python拼接字符串的7种方法总结
Nov 01 Python
解决python ogr shp字段写入中文乱码的问题
Dec 31 Python
在pyqt5中QLineEdit里面的内容回车发送的实例
Jun 21 Python
Python实现的爬取豆瓣电影信息功能案例
Sep 15 Python
如何解决tensorflow恢复模型的特定值时出错
Feb 06 Python
详解Django3中直接添加Websockets方式
Feb 12 Python
什么是Python中的顺序表
Jun 02 Python
Python下载网易云歌单歌曲的示例代码
Aug 12 Python
详解python UDP 编程
Aug 24 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之数组学习
2011/05/29 PHP
单一index.php实现PHP任意层级文件夹遍历(Zjmainstay原创)
2012/07/31 PHP
20个2014年最优秀的PHP框架回顾
2014/10/22 PHP
php支持断点续传、分块下载的类
2016/05/02 PHP
Jquery Validate 正则表达式实用验证代码大全
2013/08/23 Javascript
如何在JavaScript中实现私有属性的写类方式(一)
2013/12/04 Javascript
纯js写的分页表格数据为json串
2014/02/18 Javascript
jQuery Validate 验证,校验规则写在控件中的具体实例
2014/02/27 Javascript
解决JS无法调用Controller问题的方法
2015/12/31 Javascript
详解js私有作用域中创建特权方法
2016/01/25 Javascript
基于jQuery的AJAX和JSON实现纯html数据模板
2016/08/09 Javascript
AngularJS中$apply方法和$watch方法用法总结
2016/12/13 Javascript
基于jQuery实现的Ajax 验证用户名唯一性实例代码
2017/06/28 jQuery
引入JavaScript时alert弹出框显示中文乱码问题
2017/09/16 Javascript
angular6 填坑之sdk的方法
2018/12/27 Javascript
微信小程序结合mock.js实现后台模拟及调试
2019/03/28 Javascript
微信小程序前端自定义分享的实现方法
2019/06/13 Javascript
vue中v-for循环选中点击的元素并对该元素添加样式操作
2020/07/17 Javascript
Python中的列表生成式与生成器学习教程
2016/03/13 Python
Python实现嵌套列表及字典并按某一元素去重复功能示例
2017/11/30 Python
python调用tcpdump抓包过滤的方法
2018/07/18 Python
Python爬虫小技巧之伪造随机的User-Agent
2018/09/13 Python
Python操作Excel工作簿的示例代码(\*.xlsx)
2020/03/23 Python
详细分析Python垃圾回收机制
2020/07/01 Python
详解CSS3中强大的filter(滤镜)属性
2017/06/29 HTML / CSS
韩国三大免税店之一:THE GRAND 中文免税店
2016/07/21 全球购物
Banana Republic欧盟:美国都市简约风格的代表品牌
2018/05/09 全球购物
ESDlife健康生活易:身体检查预订、搜寻及比较
2019/05/10 全球购物
公司清洁工岗位职责
2013/12/14 职场文书
秋季开学典礼主持词
2014/03/19 职场文书
外国人聘用意向书
2014/04/01 职场文书
实习协议书范本
2014/09/25 职场文书
2016年三八红旗手先进事迹材料
2016/02/26 职场文书
python状态机transitions库详解
2021/06/02 Python
Python读写yaml文件
2022/03/20 Python
画错魏国疆域啦!《派对咖孔明》动画因作画失误于官网致歉
2022/04/07 日漫