您的位置:58编程 > fastapi 表单 FastAPI教程 请求表单与文件

fastapi 表单 FastAPI教程 请求表单与文件

2023-03-18 01:33 FastAPI教程

fastapi 表单 FastAPI教程 请求表单与文件

fastapi 表单

FastAPI 是一个高性能的 Web 框架,它可以帮助开发者快速构建 API 应用程序。它使用 Python 语言,并且支持多种 Web 框架,包括 Flask、Django 和 Tornado。FastAPI 也可以用于创建表单应用程序。

FastAPI 表单是一种特殊的 Web 应用程序,它允许用户在 Web 页面上输入数据并提交表单。FastAPI 表单可以使用 HTML 标记语言来创建,也可以使用 JavaScript 来创建功能强大的表单。

from fastapi import FastAPI, Form
app = FastAPI()
@app.post("/login")
def login(username: str = Form(...), password: str = Form(...)): 
    if username == "admin" and password == "secret": 
        return {"message": "Welcome!"} 
    else: 
        return {"message": "Bad username or password"} 

上面的代码是一个使用 FastAPI 创建表单的例子。在这个例子中,我们使用 FastAPI 的 Form 类来声明 username 和 password 字段,然后在函数中对这些字段进行校验。如果校验通过,就会返回一条信息“Welcome!”;如果校验不通过,就会返回一条信息“Bad username or password”。

FastAPI 还有很多高级功能可以帮助开发者快速创建表单应用程序。例如,它可以帮助开发者快速生成 HTML 表单代码、自动生成文本字段、复选框、下拉列表、日期字段等内容。此外,FastAPI 还具有数据验证功能,可以帮助开发者快速核对表单中的数据是否正确无误。

FastAPI教程 请求表单与文件

FastAPI 支持同时使用 File 和 Form 定义文件和表单字段。

说明

接收上传文件或表单数据,要预先安装 python-multipart。

例如,pip install python-multipart。

导入 File 与 Form

from fastapi import FastAPI, File, Form, UploadFile

app = FastAPI()


@app.post("/files/")
async def create_file(
    file: bytes = File(...), fileb: UploadFile = File(...), token: str = Form(...)
):
    return {
        "file_size": len(file),
        "token": token,
        "fileb_content_type": fileb.content_type,
    }

定义 File 与 Form 参数

创建文件和表单参数的方式与 Body 和 Query 一样:

from fastapi import FastAPI, File, Form, UploadFile

app = FastAPI()


@app.post("/files/")
async def create_file(
    file: bytes = File(...), fileb: UploadFile = File(...), token: str = Form(...)
):
    return {
        "file_size": len(file),
        "token": token,
        "fileb_content_type": fileb.content_type,
    }

文件和表单字段作为表单数据上传与接收。

声明文件可以使用 bytes 或 UploadFile 。

警告

可在一个路径操作中声明多个 File 与 Form 参数,但不能同时声明要接收 JSON 的 Body 字段。因为此时请求体的编码为 multipart/form-data,不是 application/json。

这不是 FastAPI 的问题,而是 HTTP 协议的规定。

小结

在同一个请求中接收数据和文件时,应同时使用 File 和 Form。


阅读全文
以上是58编程为你收集整理的fastapi 表单 FastAPI教程 请求表单与文件全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 58编程 58biancheng.com 版权所有 联系我们
桂ICP备12005667号-32 Powered by CMS