FastAPI 是一个基于 Python 的高性能 Web 框架,它提供了强大的工具来处理 Web 表单。Web 表单是 Web 应用程序中最常见的输入机制之一,因此使用 FastAPI 处理 Web 表单非常重要。
定义表单
在 FastAPI 中处理表单需要定义一个表单模型。表单模型是一个 Pydantic 模型,用于描述表单数据的字段和验证规则。例如,下面是一个定义了用户名和密码的表单模型:
代码语言:javascript复制from pydantic import BaseModel
class LoginForm(BaseModel):
username: str
password: str
在上面的代码中,我们定义了一个名为 LoginForm
的表单模型,该模型包含了用户名和密码两个字段。注意,我们使用 Pydantic 的 BaseModel
来定义模型。
验证表单数据
在 FastAPI 中,您可以使用 Pydantic 的验证功能来验证表单数据。在上面的代码中,我们定义了一个名为 LoginForm
的表单模型,该模型包含了用户名和密码两个字段。Pydantic 会自动验证这些字段的数据类型、长度等属性,因此您不需要手动编写验证代码。
例如,下面是一个使用 LoginForm
模型验证表单数据的示例:
from fastapi import FastAPI, Form
app = FastAPI()
@app.post("/login")
async def login(username: str = Form(...), password: str = Form(...)):
# 验证表单数据
form_data = LoginForm(username=username, password=password)
# 处理表单提交
# ...
在上面的代码中,我们定义了一个 /login
路由,该路由使用 Form
参数注入来接收表单数据。然后我们创建了一个 LoginForm
对象,用于验证表单数据。