以 Jinja2 模板为例
安装依赖
pip install jinja2
pip install aiofiles # 用于 fastapi 的异步静态文件
具体的用法
# -*- coding:utf-8 -*-
from fastapi import FastAPI, Request
from fastapi.staticfiles import StaticFiles
from fastapi.templating import Jinja2Templates
import uvicorn
app = FastAPI()
app.mount("/static", StaticFiles(directory="static"), name="static") # 挂载静态文件,指定目录
templates = Jinja2Templates(directory="templates") # 模板目录
@app.get("/data/{data}")
async def read_data(request: Request, data: str):
return templates.TemplateResponse("index.html", {"request": request, "data": data})
创建static和templates目录
在项目根目录创建static和templates目录,可以根据上面的代码更改位置
创建index.html模板文件
html 文件渲染
<html>
<head>
<title>标题</title>
</head>
<body>
<h1>高呼: {{ data }}</h1>
</body>
</html>