fastapi: 第二十一章:输出html页面
一,安装jinja2模板引擎
$ pip install jinja2 python-multipart
创建模板文件目录templates,并把模板文件放到此目录下

二,代码:
html代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>{{ title }}</title>
</head>
<body>
<h1>Hello, {{ username }}!</h1>
<p>Welcome to your FastAPI web application.</p>
</body>
</html>
python文件:
# app/api/users.py
from fastapi import APIRouter, Depends
from starlette.requests import Request
from starlette.templating import Jinja2Templates
from app.core.Settings import get_settings
from app.middleware.log_single_route import log_this_route
# 创建路由器实例
# prefix:所有路由的统一前缀,避免重复写"/users"
# tags:在Swagger文档中分组显示
router = APIRouter(prefix="/users", tags=["用户管理"])
# Point to your local templates directory
templates = Jinja2Templates(directory="app/templates")
@router.get("/one")
def get_user(request: Request,user_id: int = 1,name: str = None):
"""根据ID获取单个用户"""
#return {"id": user_id, "name": f"用户{name}"}
return templates.TemplateResponse(
request = request,
name="user_all.html",
context={"username": "谢广坤", "title": "象牙山村委会"}
)
三,测试效果:

浙公网安备 33010602011771号