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妹子图简单爬虫实例
Jul 07 Python
python模块之sys模块和序列化模块(实例讲解)
Sep 13 Python
python3获取两个日期之间所有日期,以及比较大小的实例
Apr 08 Python
django表单实现下拉框的示例讲解
May 29 Python
对python:threading.Thread类的使用方法详解
Jan 31 Python
python进程和线程用法知识点总结
May 28 Python
10分钟用python搭建一个超好用的CMDB系统
Jul 17 Python
Django 拆分model和view的实现方法
Aug 16 Python
Python中字典与恒等运算符的用法分析
Aug 22 Python
matplotlib绘制多子图共享鼠标光标的方法示例
Jan 08 Python
教你使用Python获取QQ音乐某个歌手的歌单
Apr 03 Python
python+pytest接口自动化之token关联登录的实现
Apr 06 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
收音机史话 - 1960年代前后的DIY
2021/03/02 无线电
PHP中的日期处理方法集锦
2007/01/02 PHP
MySQL时间字段究竟使用INT还是DateTime的说明
2012/02/27 PHP
记录PHP错误日志 display_errors与log_errors的区别
2012/10/09 PHP
PHP IE中下载附件问题解决方法
2014/01/07 PHP
PHP中mysqli_affected_rows作用行数返回值分析
2014/12/26 PHP
php给图片添加文字水印方法汇总
2015/08/27 PHP
PHP正则获取页面所有图片地址
2016/03/23 PHP
PHP简单判断字符串是否包含另一个字符串的方法
2016/03/25 PHP
php简单统计中文个数的方法
2016/09/30 PHP
js中的onchange和onpropertychange (onchange无效的解决方法)
2014/03/08 Javascript
nodejs中使用monk访问mongodb
2014/07/06 NodeJs
jQuery EasyUI之DataGrid使用实例详解
2016/01/04 Javascript
网页瀑布流布局jQuery实现代码
2016/10/21 Javascript
ES6新数据结构Set与WeakSet用法分析
2017/03/31 Javascript
bootstrap table单元格新增行并编辑
2017/05/19 Javascript
vue在使用ECharts时的异步更新和数据加载详解
2017/11/22 Javascript
Vue中多个元素、组件的过渡及列表过渡的方法示例
2019/02/13 Javascript
Nuxt的路由动画效果案例
2020/11/06 Javascript
Python实现基本线性数据结构
2016/08/22 Python
快速了解python leveldb
2018/01/18 Python
python爬虫爬取网页表格数据
2018/03/07 Python
python3+PyQt5 创建多线程网络应用-TCP客户端和TCP服务器实例
2019/06/17 Python
超实用的 30 段 Python 案例
2019/10/10 Python
win10安装tesserocr配置 Python使用tesserocr识别字母数字验证码
2020/01/16 Python
python 动态绘制爱心的示例
2020/09/27 Python
HTML如何让IMG自动适应DIV容器大小的实现方法
2020/02/25 HTML / CSS
瑞典Happy Socks美国官网:购买色彩斑斓的快乐袜子
2016/10/19 全球购物
HomeAway澳大利亚:预订你的度假屋,公寓、度假村、别墅等
2019/02/20 全球购物
荷兰睡眠专家:Beter Bed
2020/11/23 全球购物
自动化系在校本科生求职信
2013/10/23 职场文书
2013年研究生毕业感言
2014/02/06 职场文书
简历中自我评价怎么写
2014/02/12 职场文书
学校消防演习方案
2014/02/19 职场文书
会计工作决心书
2014/03/11 职场文书
优秀班组事迹材料
2014/12/24 职场文书