Form
last update: 2025-06-07
FastAPI 支援透過 Form 物件來接收 HTML 表單傳送的資料,常用於登入、註冊、搜尋等功能的前端互動。
1. 安裝必要套件
若使用模板引擎(如 Jinja2)配合表單顯示,請先安裝:
pip install jinja2 aiofiles2. 接收表單資料
使用 Form 類別可讓 FastAPI 解析來自前端表單的 POST 資料:
from fastapi import FastAPI, Form
app = FastAPI()
@app.post("/login")
def login(username: str = Form(...), password: str = Form(...)):
return {"username": username, "password": password}說明:
Form(...)表示此欄位為必填。表單資料須使用
application/x-www-form-urlencoded送出(HTML form 預設格式)。
3. HTML 表單範例
4. 配合 HTMLResponse 回傳頁面
5. 表單 + Jinja2 模板整合(進階)
HTML(templates/register.html):
小結
功能
FastAPI 用法
接收表單
使用 Form(...) 作為函式參數
HTML 表單
<form method='post'>
模板整合
搭配 Jinja2Templates 回傳表單畫面
表單處理是建立互動式網站不可或缺的一環,FastAPI 提供簡潔又直觀的方式來接收與處理前端送出的表單資料。
Last updated