回傳HTML

利用FastAPI回傳html比較沒有像Flask一樣那麼直覺,畢竟FastAPI是以API為核心。

安裝jinja2

pip install jinja2

FastAPI

from fastapi import FastAPI, Request
from fastapi.responses import HTMLResponse
from fastapi.templating import Jinja2Templates

app = FastAPI()

# 指定templates資料夾路徑
templates = Jinja2Templates(directory="templates")

@app.get("/items/{id}", response_class = HTMLResponse)
def read_item(request: Request, id: str)
    return templates.TemplateResponse("item.html", {"request": request, "id": id})

將相關資料透過templates.TemplateResponse的第二個參數傳送至HTML,並可透過jinja2的方法顯示在網頁。

Last updated