以 Jinja2 模板为例

安装依赖

  1. pip install jinja2
  2. pip install aiofiles # 用于 fastapi 的异步静态文件

具体的用法

  1. # -*- coding:utf-8 -*-
  2. from fastapi import FastAPI, Request
  3. from fastapi.staticfiles import StaticFiles
  4. from fastapi.templating import Jinja2Templates
  5. import uvicorn
  6. app = FastAPI()
  7. app.mount("/static", StaticFiles(directory="static"), name="static") # 挂载静态文件,指定目录
  8. templates = Jinja2Templates(directory="templates") # 模板目录
  9. @app.get("/data/{data}")
  10. async def read_data(request: Request, data: str):
  11. return templates.TemplateResponse("index.html", {"request": request, "data": data})

创建static和templates目录

在项目根目录创建static和templates目录,可以根据上面的代码更改位置

创建index.html模板文件

html 文件渲染

  1. <html>
  2. <head>
  3. <title>标题</title>
  4. </head>
  5. <body>
  6. <h1>高呼: {{ data }}</h1>
  7. </body>
  8. </html>