在 FastAPI 中,处理表单数据的方式与 Flask 略有不同。Flask 使用 request.form
来访问表单数据,而 FastAPI 则使用 Pydantic 模型和 Form
类来处理表单数据。
以下是如何在 FastAPI 中处理表单数据的示例,类似于 Flask 的 request.form
。
如果您还没有安装 FastAPI 和 Uvicorn,可以使用以下命令进行安装:
pip install fastapi uvicorn
以下是一个简单的 FastAPI 应用程序示例,展示了如何处理表单数据:
from fastapi import FastAPI, Form
from fastapi.responses import HTMLResponse
app = FastAPI()
@app.post("/submit/")
async def submit_form(name: str = Form(...), age: int = Form(...)):
return {"name": name, "age": age}
@app.get("/", response_class=HTMLResponse)
async def get_form():
return """
<form action="/submit/" method="post">
<input type="text" name="name" placeholder="Name" required>
<input type="number" name="age" placeholder="Age" required>
<button type="submit">Submit</button>
</form>
"""
FastAPI
和 Form
,以及用于返回 HTML 响应的 HTMLResponse
。FastAPI()
创建一个应用实例。/submit/
路由中,我们定义了一个处理表单提交的函数 submit_form
。使用 Form(...)
来获取表单字段 name
和 age
。...
表示该字段是必需的。/
中,我们返回一个简单的 HTML 表单,用户可以在其中输入姓名和年龄。将上述代码保存为 main.py
,然后使用以下命令运行 FastAPI 应用:
uvicorn main:app --reload
打开浏览器并访问 http://127.0.0.1:8000/
,您将看到一个表单。填写表单并提交后,您将看到 JSON 格式的响应,显示您输入的姓名和年龄。
领取专属 10元无门槛券
手把手带您无忧上云