Flask框架模板继承实现方法分析

作者:Gavininn 时间:2021-02-20 04:09:52 

本文实例讲述了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程序设计有所帮助。

来源:https://www.jianshu.com/p/03ea2eb53f55

标签:Flask,模板继承
0
投稿

猜你喜欢

  • Access 导入 MSSQL 2000/2005 数据库工具

    2008-10-22 13:49:00
  • scrapy-redis分布式爬虫的搭建过程(理论篇)

    2022-04-25 20:49:25
  • 教你怎么用Python实现GIF动图的提取及合成

    2023-11-29 14:16:15
  • opencv读取视频并保存图像的方法

    2023-02-21 17:30:16
  • 深度定制Python的Flask框架开发环境的一些技巧总结

    2022-12-29 21:50:22
  • Python中Selenium模拟JQuery滑动解锁实例

    2021-10-21 09:49:52
  • JavaScript程序执行顺序问题总结

    2010-01-29 13:06:00
  • Python List remove()实例用法详解

    2022-11-24 17:40:18
  • asp如何向客户端发送提示“出错信息”?

    2010-06-09 18:50:00
  • mysql limit查询优化分析

    2023-11-16 00:51:04
  • Python 多线程知识点总结及实例用法

    2022-04-27 13:19:49
  • 避免Adodb.Stream输出UTF-8时自动写入的BOM(asp)

    2011-08-24 20:32:56
  • Python实现批量压缩图片

    2021-04-20 09:58:44
  • Python面向对象魔法方法和单例模块代码实例

    2023-05-02 19:03:16
  • 数据清洗之如何用一行Python代码去掉文本中的各种符号

    2023-10-04 12:39:25
  • python爬虫之遍历单个域名

    2021-06-28 07:45:34
  • Python使用asyncio异步时的常见问题总结

    2021-02-06 04:43:12
  • Python Web服务器Tornado使用小结

    2023-06-25 23:07:21
  • 在PyTorch中使用标签平滑正则化的问题

    2021-12-26 17:46:54
  • div中class与id的区别及应用

    2007-09-22 08:37:00
  • asp之家 网络编程 m.aspxhome.com