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单向链表的实现
Dec 24 Python
深入理解Python装饰器
Jul 27 Python
利用django如何解析用户上传的excel文件
Jul 24 Python
详谈python read readline readlines的区别
Sep 22 Python
Python输出各行命令详解
Feb 01 Python
Python模拟自动存取款机的查询、存取款、修改密码等操作
Sep 02 Python
对python中if语句的真假判断实例详解
Feb 18 Python
Python 、Pycharm、Anaconda三者的区别与联系、安装过程及注意事项
Oct 11 Python
python Qt5实现窗体跟踪鼠标移动
Dec 13 Python
Django缓存Cache使用详解
Nov 30 Python
python+selenium自动化实战携带cookies模拟登陆微博
Jan 19 Python
OpenCV项目实践之停车场车位实时检测
Apr 11 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
3.从实例开始
2006/10/09 PHP
PHP常用的排序和查找算法
2015/08/06 PHP
PHP7.0安装笔记整理
2015/08/28 PHP
php中get_magic_quotes_gpc()函数说明
2017/02/06 PHP
php记录搜索引擎爬行记录的实现代码
2018/03/02 PHP
PHP实现的猴王算法(猴子选大王)示例
2018/04/30 PHP
PHP实现的日历功能示例
2018/09/01 PHP
php设计模式之装饰模式应用案例详解
2019/06/17 PHP
js对列表中第一个值处理与jsp页面对列表中第一个值处理的区别详解
2013/11/05 Javascript
javascript实现文本域写入字符时限定字数
2014/02/12 Javascript
JavaScript每天必学之事件
2016/09/18 Javascript
JS匿名函数实例分析
2016/11/26 Javascript
Vue方法与事件处理器详解
2016/12/01 Javascript
微信小程序 UI布局常用技巧整理总结
2016/12/05 Javascript
vue自定义移动端touch事件之点击、滑动、长按事件
2018/07/10 Javascript
解决Vue开发中对话框被遮罩层挡住的问题
2018/11/26 Javascript
vue项目前端埋点的实现
2019/03/06 Javascript
Vue模板语法中数据绑定的实例代码
2019/05/17 Javascript
微信小程序JS加载esmap地图的实例详解
2019/09/04 Javascript
JS画布动态实现黑客帝国背景效果
2020/11/08 Javascript
Python用list或dict字段模式读取文件的方法
2017/01/10 Python
详解关于Django中ORM数据库迁移的配置
2018/10/08 Python
Python获取数据库数据并保存在excel表格中的方法
2019/06/12 Python
Python tkinter实现图片标注功能(完整代码)
2019/12/08 Python
python实现监控阿里云账户余额功能
2019/12/16 Python
PyCharm2019.3永久激活破解详细图文教程,亲测可用(不定期更新)
2020/10/29 Python
澳大利亚宠物商店:Petbarn
2017/11/18 全球购物
宝拉珍选美国官网:Paula’s Choice美国
2018/01/07 全球购物
MaBelle玛贝尔香港官网:香港钻饰连锁店
2019/09/09 全球购物
Java面试题:说出如下代码的执行结果
2015/10/30 面试题
小学生打架检讨书
2014/01/26 职场文书
入党积极分子学习两会心得体会范文
2014/03/17 职场文书
标准的毕业生自荐信
2014/04/20 职场文书
保护环境建议书300字
2014/05/13 职场文书
法院信息化建设方案
2014/05/21 职场文书
运动会主持词大全
2015/07/02 职场文书