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实现删除Android工程中的冗余字符串
Jan 19 Python
介绍Python的Django框架中的静态资源管理器django-pipeline
Apr 25 Python
Python线程指南详细介绍
Jan 05 Python
用Python设计一个经典小游戏
May 15 Python
django实现同一个ip十分钟内只能注册一次的实例
Nov 03 Python
python交互式图形编程实例(一)
Nov 17 Python
浅谈Python中重载isinstance继承关系的问题
May 04 Python
python利用Tesseract识别验证码的方法示例
Jan 21 Python
利用Python模拟登录pastebin.com的实现方法
Jul 12 Python
解决Python使用列表副本的问题
Dec 19 Python
Python操作MySQL数据库实例详解【安装、连接、增删改查等】
Jan 17 Python
聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明
Mar 03 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的FTP学习(一)[转自奥索]
2006/10/09 PHP
网站当前的在线人数
2006/10/09 PHP
匹配csdn用户数据库与官方用户的重合度并将重叠部分的用户筛选出来
2011/12/25 PHP
PHP可变函数的使用详解
2013/06/14 PHP
PHP+iFrame实现页面无需刷新的异步文件上传
2014/09/16 PHP
PHP实现AES256加密算法实例
2014/09/22 PHP
php session的锁和并发
2016/01/22 PHP
实例讲解PHP表单验证功能
2019/02/15 PHP
关于IE浏览器以及Firefox下的javascript冒泡事件的响应层级
2010/10/14 Javascript
20款非常优秀的 jQuery 工具提示插件 推荐
2012/07/15 Javascript
jquery对象和DOM对象的区别介绍
2013/08/09 Javascript
jquery事件重复绑定的快速解决方法
2014/01/03 Javascript
JavaScript实现俄罗斯方块游戏过程分析及源码分享
2015/03/23 Javascript
JavaScript实现cookie的写入、读取、删除功能
2015/11/05 Javascript
JavaScript学习笔记之检测客户端类型是(引擎、浏览器、平台、操作系统、移动设备)
2015/12/03 Javascript
JavaScript中的 attribute 和 jQuery中的 attr 方法浅析
2017/01/04 Javascript
详解Vue.js Mixins 混入使用
2017/09/15 Javascript
解决vue项目中type=”file“ change事件只执行一次的问题
2018/05/16 Javascript
vue路由组件按需加载的几种方法小结
2018/07/12 Javascript
JavaScript面向对象程序设计创建对象的方法分析
2018/08/13 Javascript
python encode和decode的妙用
2009/09/02 Python
python 字典(dict)遍历的四种方法性能测试报告
2014/06/25 Python
Python3 A*寻路算法实现方式
2019/12/24 Python
Python中import导入不同目录的模块方法详解
2020/02/18 Python
tensorflow2.0教程之Keras快速入门
2021/02/20 Python
BISSELL官网:北美吸尘器第一品牌
2019/03/14 全球购物
HolidayLettings英国:预订最好的度假公寓、别墅和自助式住宿
2019/08/27 全球购物
Carolina Lemke Berlin澳大利亚官网:时尚太阳镜品牌
2019/09/17 全球购物
既然说Ruby中一切都是对象,那么Ruby中类也是对象吗
2013/01/26 面试题
高中运动会入场词
2014/02/14 职场文书
材料工程专业毕业生求职信
2014/03/04 职场文书
奥巴马的演讲稿
2014/05/15 职场文书
环保口号大全
2014/06/12 职场文书
2014年煤矿工作总结
2014/11/24 职场文书
CSS中实现动画效果-附案例
2022/02/28 HTML / CSS
【海涛教你打DOTA】剑圣第一人称视角解说
2022/04/01 DOTA