FastAPI 访问表单数据

FastAPI 访问表单数据

现在我们将看到如何在FastAPI操作函数中访问HTML表单数据。在上面的例子中,/login路由渲染了一个登录表单。用户输入的数据被提交到 /submit URL,请求方法为POST。现在我们必须提供一个视图函数来处理用户提交的数据。

FastAPI有一个Form类来处理通过提交HTML表单而收到的请求数据。然而,你需要安装 python-multipart 模块。它是一个用于Python的流式多部件表单解析器。

pip3 install python-multipart

在从FastAPI导入的资源中添加 表单 类。

from fastapi import Form

让我们定义一个 submit() 函数,由@app.post()进行装饰。为了接收表单数据,声明两个表单类型的参数,其名称与表单属性相同。

@app.post("/submit/")
async def submit(nm: str = Form(...), pwd: str = Form(...)):
   return {"username": nm}

填写完文本字段后按提交。浏览器将被重定向到/submit URL,并呈现JSON响应。检查 /submit 路由的Swagger API文档。它正确地识别了 nmpwd 作为请求主体参数,以及表单的 “媒体类型 “为 application/x-www-form-urlencoded

FastAPI - 访问表单数据

它甚至可以用HTML表单数据来填充和返回Pydantic模型。在下面的代码中,我们将User类声明为一个Pydantic模型,并将其对象作为服务器的响应来发送。

from pydantic import BaseModel
class User(BaseModel):
   username:str
   password:str
@app.post("/submit/", response_model=User)
async def submit(nm: str = Form(...), pwd: str = Form(...)):
   return User(username=nm, password=pwd)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程