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

news/2025/2/27 18:21:50/

锋哥原创的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.ppmy.cn/news/1575300.html

相关文章

无框架简易Java服务器后端

不使用像 Spring Boot 这样的框架&#xff0c;使用 Java 内置的HttpServer&#xff08;从 Java 1.7 开始引入&#xff09;来创建一个简单的 Web 后端&#xff0c;处理xxxx/test/query接口&#xff0c;接收 JSON 请求体并返回字符串响应。 示例代码&#xff1a; import com.go…

Amazon Outposts:构建混合云的安全堡垒,让数据安全“零距离”

在数字化转型的浪潮中&#xff0c;企业纷纷拥抱混合云架构以兼顾敏捷性与本地化需求。然而&#xff0c;如何确保数据在本地与云端的无缝流转中始终安全可控&#xff0c;成为企业面临的核心挑战。Amazon Outposts 作为AWS推出的混合云解决方案&#xff0c;不仅将原生AWS服务延伸…

【mysql中mvcc的含义和作用及原理】

MySQL中的MVCC&#xff08;多版本并发控制&#xff09;是一种用于提高数据库并发性能的机制&#xff0c;通过维护数据的多个版本&#xff0c;实现读写操作的无锁并发。以下是其核心要点&#xff1a; 1. MVCC的含义 全称&#xff1a;Multi-Version Concurrency Control&#xf…

几种AI模型在算法工作中的使用测评——Grok3,Deepseek,Chatgpt,Kimi,Claude(持续更新)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、Grok3二、Deepseek-R1三、Chatgpt-4o四、Kimi五、Claude-3.5总结 前言 在工作中现在已经离不开这AI模型了。 于是我单开一个博客&#xff0c;记录在使用过…

跟着李沐老师学习深度学习(十四)

注意力机制&#xff08;Attention&#xff09; 引入 心理学角度 动物需要在复杂环境下有效关注值得注意的点心理学框架&#xff1a;人类根据随意线索和不随意线索选择注意力 注意力机制 之前所涉及到的卷积、全连接、池化层都只考虑不随意线索而注意力机制则显示的考虑随意…

04基于vs2022的c语言笔记——数据类型

目录 前言 4.数据类型 4-1数据类型初识 4-2数据类型之整型 4-3 sizeof的应用 4-4unsigned的应用 4-5实型/浮点型 4-6字符型 4-7转义字符 4-8字符串初识 4-9-1 输入之 整数的输入 提示&#xff1a; 本节代码部分 1.scanf的基本用法介绍 2.两个变量的输入 3.输…

Linux网络安全

Linux网络安全一直是IT行业中备受关注的话题&#xff0c;而红帽作为Linux操作系统的知名发行版&#xff0c;在网络安全领域也扮演着重要的角色。红帽公司一直致力于为用户提供安全可靠的Linux解决方案&#xff0c;以帮助用户建立强大的网络安全防护体系。 首先 红帽操作系统本…

DeepSeek等LLM对网络安全行业的影响

大家好,我是AI拉呱,一个专注于人工智领域与网络安全方面的博主,现任资深算法研究员一职,兼职硕士研究生导师;热爱机器学习和深度学习算法应用,深耕大语言模型微调、量化、私域部署。曾获多次获得AI竞赛大奖,拥有多项发明专利和学术论文。对于AI算法有自己独特见解和经验…