当前位置: 首页 > news >正文

一周学会Flask3 Python Web开发-Jinja2模板继承和include标签使用

锋哥原创的Flask3  Python Web开发 Flask3视频教程:

2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili

不管是开发网站还是后台管理系统,我们页面里多多少少有公共的模块。比如博客网站,就有公共的头部,菜单和底部栏。每个页面都有,我们往往要抽取出这些公共模块,然后统一维护。JinJa2提供了模板继承和include标签。

我们先把顶部信息和菜单抽取新建一个header.html放templates下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<p>头部,菜单</p>
</body>
</html>

同理 底部信息页抽取新建一个footer.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<p>底部</p>
</body>
</html>

我们再新建一个公共的父模版base.html,其他子模板继承即可,共同部分比如header,footer继承下来,不同的部分自己实现。这里可以通过block标签在父类先预留一块。然后子类实现block即可。include标签引入公共模块。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>{% block title %}默认标题{% endblock %}</title>
</head>
<body>
{% include 'header.html' %}
{% block content %}
    默认内容
{% endblock %}
{% include 'footer.html' %}
</body>
</html>

新建博客首页index.html,通过extends继承base.html,以及重写实现block title和content

{% extends "base.html" %}
{% block title %}
    博客首页
{% endblock %}
{% block content %}
    博客列表
{% endblock %}

同理博客帖子页面detail.html

{% extends "base.html" %}
{% block title %}
    博客帖子
{% endblock %}
{% block content %}
    博客帖子
{% endblock %}

user.py里实现下视图函数:

@user_bp.route('/index')
def index():
    return render_template('index.html')


@user_bp.route('/detail')
def detail():
    return render_template('detail.html')

我们测试下:

http://www.dtcms.com/a/39298.html

相关文章:

  • nss刷题5(misc)
  • 《操作系统 - 清华大学》 8 -9:进程管理:什么是线程
  • Android AsyncLayoutInflater异步加载xml布局文件,Kotlin
  • CentOS 7 日志切割实战:Logrotate 详解与配置指南
  • 剑指 Offer II 031. 最近最少使用缓存
  • excel单、双字节字符转换函数(中英文输入法符号转换)
  • 鸿蒙-AVPlayer
  • smolagents学习笔记系列(七)Examples-Self-correcting Text-to-SQL
  • Java一揽子集合整理
  • 网页制作09-html,css,javascript初认识のhtml如何使用表单
  • 数据安全管理的AI工具有哪些?
  • [LeetCode]day29 232.用栈实现队列
  • ZT16 小欧的括号嵌套
  • Linux网络之传输层协议(UDP,TCP协议)
  • 【转】Python for Data Analysis第二版【中文版】-第三章
  • 24.[前端开发-JavaScript基础]Day01-插件配置-变量-数据
  • React低代码项目:Redux 状态管理
  • Redis|复制 REPLICA
  • Rust学习总结之-枚举
  • 半导体晶圆精控:ethercat转profient网关数据提升制造精度
  • 2024中国信通院“集智”蓝皮书合集(附下载)
  • Windows-内核
  • 解决免费 PDF 发票打印痛点的实用工具
  • 回调函数的用法
  • AI大模型-提示工程学习笔记19-自我反思
  • HBuilder X安装教程(2025版)
  • C++ ⾼性能内存池
  • Spring 创建对象的流程
  • Rk3568驱动开发_点亮led灯(手动挡)_5
  • 文件上传漏洞学习笔记