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正则表达式爬取猫眼电影top100
Feb 24 Python
python基础教程项目二之画幅好画
Apr 02 Python
tensorflow实现简单的卷积神经网络
May 24 Python
Python实现的json文件读取及中文乱码显示问题解决方法
Aug 06 Python
使用Python给头像戴上圣诞帽的图像操作过程解析
Sep 20 Python
python os.path.isfile()因参数问题判断错误的解决
Nov 29 Python
Pycharm小白级简单使用教程
Jan 08 Python
Keras中的多分类损失函数用法categorical_crossentropy
Jun 11 Python
使用Dajngo 通过代码添加xadmin用户和权限(组)
Jul 03 Python
python爬虫要用到的库总结
Jul 28 Python
Python+Appium实现自动化清理微信僵尸好友的方法
Feb 04 Python
Python获取百度热搜的完整代码
Apr 07 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实现的获取网页中的图片并保存到本地的代码
2010/01/05 PHP
PHP中对用户身份认证实现两种方法
2011/06/04 PHP
php实现按照权重随机排序数据的方法
2015/01/09 PHP
PHP随机生成信用卡卡号的方法
2015/03/23 PHP
PHP图像裁剪缩略裁切类源码及使用方法
2016/01/07 PHP
php实时倒计时功能实现方法详解
2017/02/27 PHP
判断控件是否已加载完成的代码
2010/02/24 Javascript
JavaScript中通过闭包解决只能取得包含函数中任何变量最后一个值的问题
2010/08/12 Javascript
JS JSON对象转为字符串的简单实现方法
2013/11/18 Javascript
jquery+json实现数据二级联动的方法
2015/11/28 Javascript
AngularJs IE Compatibility 兼容老版本IE
2016/09/01 Javascript
Bootstrap多级菜单的实现代码
2017/05/23 Javascript
基于vue实现一个神奇的动态按钮效果
2019/05/15 Javascript
Python常用时间操作总结【取得当前时间、时间函数、应用等】
2017/05/11 Python
python excel使用xlutils类库实现追加写功能的方法
2018/05/02 Python
python学习——内置函数、数据结构、标准库的技巧(推荐)
2019/04/18 Python
python 用所有标点符号分隔句子的示例
2019/07/15 Python
基于Django统计博客文章阅读量
2019/10/29 Python
Python socket模块方法实现详解
2019/11/05 Python
Python搭建HTTP服务过程图解
2019/12/14 Python
python实现替换word中的关键文字(使用通配符)
2020/02/13 Python
python 操作mysql数据中fetchone()和fetchall()方式
2020/05/15 Python
基于pycharm实现批量修改变量名
2020/06/02 Python
python 图像判断,清晰度(明暗),彩色与黑白实例
2020/06/04 Python
Python批量删除mysql中千万级大量数据的脚本分享
2020/12/03 Python
Expedia韩国官网:亚洲发展最快的在线旅游门户网站
2018/02/26 全球购物
外贸业务员求职信范文
2013/12/12 职场文书
中专生求职自荐信范文
2013/12/22 职场文书
企业员工培训感言
2014/02/26 职场文书
道路施工安全责任书
2014/07/24 职场文书
2016春节慰问信范文
2015/03/25 职场文书
企业战略合作意向书
2015/05/08 职场文书
2015年学校管理工作总结
2015/07/20 职场文书
SQL Server中交叉联接的用法详解
2021/04/22 SQL Server
nginx服务器的下载安装与使用详解
2021/08/02 Servers
win11电脑关机鼠标灯还亮怎么解决? win11关机后鼠标灯还亮解决方法
2023/01/09 数码科技