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 encode和decode的妙用
Sep 02 Python
python使用Image处理图片常用技巧分析
Jun 01 Python
django限制匿名用户访问及重定向的方法实例
Feb 07 Python
python 3.6.4 安装配置方法图文教程
Sep 18 Python
对python requests的content和text方法的区别详解
Oct 11 Python
python实现批量视频分帧、保存视频帧
May 31 Python
python tkinter窗口最大化的实现
Jul 15 Python
Python字符串处理的8招秘籍(小结)
Aug 13 Python
python psutil监控进程实例
Dec 17 Python
Python分析微信好友性别比例和省份城市分布比例的方法示例【基于itchat模块】
May 29 Python
keras训练浅层卷积网络并保存和加载模型实例
Jul 02 Python
Python实现视频自动打码的示例代码
Apr 08 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
PHP4与PHP3中一个不兼容问题的解决方法
2006/10/09 PHP
利用php绘制饼状图的实现代码
2013/06/07 PHP
CSS+Table图文混排中实现文本自适应图片宽度(超简单+跨所有浏览器)
2009/02/14 Javascript
JavaScript高级程序设计(第3版)学习笔记7 js函数(上)
2012/10/11 Javascript
如何动态的导入js文件具体该怎么实现
2014/01/14 Javascript
js常用自定义公共函数汇总
2014/01/15 Javascript
JS cookie中文乱码解决方法
2014/01/28 Javascript
JS中的form.submit()不能提交表单的错误原因
2014/10/08 Javascript
JS实现在页面随时自定义背景颜色的方法
2015/02/27 Javascript
javascript实时显示当天日期的方法
2015/05/20 Javascript
JavaScript实现的经典文件树菜单效果
2015/09/08 Javascript
vue2.0实现分页组件的实例代码
2017/06/22 Javascript
javascript中一些奇葩的日期换算方法总结
2018/11/14 Javascript
如何能分清npm cnpm npx nvm
2019/01/17 Javascript
Vue组件教程之Toast(Vue.extend 方式)详解
2019/01/27 Javascript
JQuery属性操作与循环用法示例
2019/05/15 jQuery
通过vue手动封装on、emit、off的代码详解
2019/05/29 Javascript
JavaScript动态生成表格的示例
2020/11/02 Javascript
python读写json文件的简单实现
2017/04/11 Python
python中文分词教程之前向最大正向匹配算法详解
2017/11/02 Python
python如何为创建大量实例节省内存
2018/03/20 Python
Python json模块dumps、loads操作示例
2018/09/06 Python
Python模拟百度自动输入搜索功能的实例
2019/02/14 Python
Django如何简单快速实现PUT、DELETE方法
2019/07/24 Python
python中的RSA加密与解密实例解析
2019/11/18 Python
python 和c++实现旋转矩阵到欧拉角的变换方式
2019/12/04 Python
python pandas移动窗口函数rolling的用法
2020/02/29 Python
谈谈Python:为什么类中的私有属性可以在外部赋值并访问
2020/03/05 Python
django queryset 去重 .distinct()说明
2020/05/19 Python
Html5移动端div固定到底部实现底部导航条的几种方式
2021/03/09 HTML / CSS
DC Shoes澳大利亚官方网上商店:购买DC鞋子
2019/10/25 全球购物
投资建议书模板
2014/05/12 职场文书
企业理念标语
2014/06/09 职场文书
钳工实训报告总结
2014/11/04 职场文书
雷锋之歌观后感
2015/06/10 职场文书
解析目标检测之IoU
2021/06/26 Python