使用 Jinja2 模板引擎在 Flask 中动态渲染页面

使用 Jinja2 模板引擎在 Flask 中动态渲染页面

在这里插入图片描述

Flask 是一个轻量级的 Python Web 框架,它集成了功能强大的 Jinja2 模板引擎,用于动态生成 HTML 页面。Jinja2 支持变量插值、循环、条件语句等操作,可以大幅简化动态页面的渲染。

本文将带你了解如何在 Flask 中使用 Jinja2 模板引擎,以及结合实际案例实现动态页面渲染。


一、Jinja2 模板引擎简介

1.1 Jinja2 的主要功能

  • 变量插值:将后端数据动态渲染到页面。
  • 控制结构:支持 iffor 等控制流语法。
  • 模板继承:支持模板复用和页面结构组织。
  • 过滤器:对数据进行格式化处理(例如日期格式化、字符串处理等)。

二、Flask 项目中使用 Jinja2 模板

2.1 Flask 中的模板目录结构

Flask 默认会在项目根目录下的 templates 文件夹中查找模板文件。目录结构如下:

project/
│
├── app.py          # Flask 应用
├── templates/      # 存放 HTML 模板
│   ├── base.html   # 基础模板
│   ├── index.html  # 首页模板
│   ├── about.html  # 其他页面模板

2.2 示例代码:动态渲染页面

2.2.1 创建 Flask 应用
from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')
def home():
    return render_template('index.html', title="首页", username="全栈探索者")

@app.route('/about')
def about():
    return render_template('about.html', title="关于我们", description="我们致力于技术分享!")

if __name__ == '__main__':
    app.run(debug=True)

2.2.2 编写 HTML 模板
(1) templates/base.html

基础模板负责定义页面的通用结构,例如头部、导航栏、页脚等。

<!DOCTYPE html>
<html lang="en">
<head>
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全栈探索者chen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值