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中使用xlrd、xlwt操作excel表格详解
Jan 29 Python
Python通过select实现异步IO的方法
Jun 04 Python
Python运算符重载详解及实例代码
Mar 07 Python
Python使用openpyxl读写excel文件的方法
Jun 30 Python
Python基于回溯法子集树模板解决全排列问题示例
Sep 07 Python
使用Python实现windows下的抓包与解析
Jan 15 Python
python装饰器深入学习
Apr 06 Python
python 实现语音聊天机器人的示例代码
Dec 02 Python
基于python二叉树的构造和打印例子
Aug 09 Python
对python中的*args与**kwgs的含义与作用详解
Aug 28 Python
Python爬虫爬取Bilibili弹幕过程解析
Oct 10 Python
python 中关于pycharm选择运行环境的问题
Oct 31 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简单系统数据添加以及数据删除模块源文件下载
2008/06/07 PHP
php设计模式之单例、多例设计模式的应用分析
2013/06/30 PHP
CodeIgniter配置之SESSION用法实例分析
2016/01/19 PHP
PHP实现防盗链的方法分析
2017/07/25 PHP
PHP学习笔记之session
2018/05/06 PHP
用PHP的反射实现委托模式的讲解
2019/03/22 PHP
laravel框架上传图片实现实时预览功能
2019/10/14 PHP
PHP大文件及断点续传下载实现代码
2020/08/18 PHP
Nigma vs Alliance BO5 第二场2.14
2021/03/10 DOTA
禁止刷新,回退的JS
2006/11/25 Javascript
javascript各种复制代码收集
2008/09/20 Javascript
js禁止小键盘输入数字功能代码
2011/08/01 Javascript
JavaScript中把数字转换为字符串的程序代码
2013/06/19 Javascript
chrome不支持form.submit的解决方案
2015/04/28 Javascript
jQuery实现为图片添加镜头放大效果的方法
2015/06/25 Javascript
JavaScript中split与join函数的进阶使用技巧
2016/05/03 Javascript
js es6系列教程 - 新的类语法实战选项卡(详解)
2017/09/02 Javascript
浅谈JsonObject中的key-value数据解析排序问题
2017/12/06 Javascript
vue watch监听对象及对应值的变化详解
2018/02/24 Javascript
webpack4.0打包优化策略整理小结
2018/03/30 Javascript
vue使用中的内存泄漏【推荐】
2018/07/10 Javascript
laypage+SpringMVC实现后端分页
2019/07/27 Javascript
JS实现可视化音频效果的实例代码
2020/01/16 Javascript
Vue切换div显示隐藏,多选,单选代码解析
2020/07/14 Javascript
vue下载二进制流图片操作
2020/10/26 Javascript
vue3 watch和watchEffect的使用以及有哪些区别
2021/01/26 Vue.js
Python使用psutil获取进程信息的例子
2019/12/17 Python
泰坦健身器材:Titan Fitness
2018/02/13 全球购物
孕妇内衣和胸罩:Cake Maternity
2018/07/16 全球购物
Speedo速比涛德国官方网站:世界领先的泳装品牌
2019/08/26 全球购物
SQL Server的固定数据库角色都有哪些?对应的服务器权限有哪些?
2013/05/18 面试题
Linux的文件类型
2016/07/05 面试题
中医专业职业生涯规划书范文
2014/01/04 职场文书
抽样调查项目计划书
2014/04/24 职场文书
大型演出策划方案
2014/05/28 职场文书
担保书范文
2015/01/20 职场文书