FastAPI 表单数据处理教程
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,它用 Python 3.6+类型提示的特性旨在方便和快速地设计和构建 APIs,并且减少代码的冗余与错误。下面将介绍如何在 FastAPI 中处理表单数据。
安装 FastAPI 和 Uvicorn
首先,确保你已经安装了FastAPI和Uvicorn,它们将允许我们运行我们的Web应用。在命令行中运行以下命令来安装这些包(如果你尚未安装):
pip install fastapi
pip install uvicorn
要使用表单,需预先安装 python-multipart
。
pip install python-multipart
创建 FastAPI 应用
创建一个新的 Python 文件,如 main.py
,并导入需要的模块:
from fastapi import FastAPI, Form
from pydantic import BaseModel
from typing import Optional
app = FastAPI()
创建表单数据模型
虽然处理表单时通常不需要Pydantic模型,但定义它可以让我们更便捷地进行验证和文档化。
class Item(BaseModel):
name: str
description: Optional[str] = None
price: float
tax: Optional[float] = None
创建 POST 路由处理表单提交
在FastAPI中创建一个接受表单数据的路由。我们将使用Form
类来定义应该从表单中接收哪些字段。
@app.post("/items/")
async def create_item(name: str = Form(...), description: str = Form(None),
price: float = Form(...), tax: Optional[float] = Form(None)):
item = {"name": name, "description": description, "price": price, "tax": tax}
return item
在上面的例子中, ...
表明该字段是必填的,而 None
则意味着该字段是可选的。
运行应用
现在,你可以通过 Uvicorn 来运行你的应用。在命令行中运行以下命令:
uvicorn main:app --reload
--reload
参数使得在代码更新时服务器能够自动重新加载。
测试应用
打开浏览器,访问 http://127.0.0.1:8000/docs ,你将看到由 FastAPI 自动生成的交互式API文档。
在文档页面上,你能看到你创建的 /items/
路由。你可以使用“Try it out”功能来发送一个表单数据请求,填写相应字段并执行。
总结
在这份教程中,我们学会了如何在 FastAPI 中通过创建简单的路由处理表单数据。你可以使用Form
帮助表单验证和自动生成文档。通过结合 FastAPI 自动生成的文档,可以方便地测试和交互你的 API。
希望你能在构建自己的 FastAPI 应用时找到这份教程有用。快去试试吧!