FastAPI教程--返回HTML-使用Jinja2模板渲染 作者:马育民 • 2026-08-15 09:27 • 阅读:10002 # 介绍 业务开发绝大多数场景:后端传变量,html模板渲染生成页面。 # 安装 ### pip 安装 ```bash pip install jinja2 ``` ### uv 安装 ``` uv add jinja2 ``` # 例子 项目目录结构 ``` main.py templates/ // 该目录用于存放模板文件 index.html // 模板文件 ``` ### 创建HTML模板 创建 `templates/index.html` 文件,内容如下: ```html Jinja模板 你好 {{ name }} {% for item in list_data %} {{ item }} {% endfor %} ``` ### 实现main.py(fastapi推荐写法) FastAPI官方封装 `Jinja2Templates`,更简洁: ```python from fastapi import FastAPI from fastapi.responses import HTMLResponse from fastapi.templating import Jinja2Templates from fastapi.requests import Request app = FastAPI() # 指定模板路径 templates = Jinja2Templates(directory="templates") @app.get("/goods", response_class=HTMLResponse) async def goods(request: Request): return templates.TemplateResponse( request, # request必须传给模板 "index.html", # 模板文件名 { # 传给模板的数据 "name":"张三", "list_data":["苹果","香蕉","橙子"] } ) ``` **注意:**必须传入 `request`,否则模板内部分功能报错。 原文出处:/show_1GW3riOo6Vi8.html