FastAPI系列(08):form表单数据

news/2026/1/25 16:31:19/文章来源:https://www.cnblogs.com/uncleyong/p/19482258

 

本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/19503695 

form表单数据

Form组件是fastapi里的

FastAPI可以使用Form组件来接收表单数据,需要先使用pip install python-multipart命令进行安装

安装:pip install python-multipart

示例

from fastapi import FastAPI,Form
import uvicornapp = FastAPI()@app.post("/login")
async def login(username: str = Form(), password: str = Form()):  # username是一个Form对象print(f"username: {username}, password:{password}")# 注册,实现数据库的添加操作return {"msg": f"{username}登录成功"}if __name__ == '__main__':uvicorn.run("form_parameter:app", port=8001, reload=True)

 

接口文档

image

 

请求参数

image

 

响应结果

image

image

 

添加约束

from fastapi import FastAPI,Form
import uvicornapp = FastAPI()@app.post("/login")
async def login(username: str = Form(..., pattern=r"^[A-Za-z][A-Za-z0-9]{2,4}$", min_length=3, max_length=5),# 第一个参数:默认值或 ...(表示必需),在 FastAPI 中,... 是 Python 内置的 Ellipsis 对象,在表单参数中表示必需参数password: str = Form()):  # username是一个Form对象print(f"username: {username}, password:{password}")# 注册,实现数据库的添加操作return {"msg": f"{username}登录成功"}if __name__ == '__main__':uvicorn.run("form_parameter:app", port=8001, reload=True)

  

接口文档

image

 

给密码设置默认值123456 

from fastapi import FastAPI,Form
import uvicornapp = FastAPI()@app.post("/login")  # username和password都是一个Form对象
async def login(username: str = Form(..., pattern=r"^[A-Za-z][A-Za-z0-9]{2,4}$", min_length=3, max_length=5),# 第一个参数:默认值或 ...(表示必需),在 FastAPI 中,... 是 Python 内置的 Ellipsis 对象,在表单参数中表示必需参数password: str = Form("123456")):  # 设置默认值为 "123456"print(f"username: {username}, password:{password}")# 注册,实现数据库的添加操作return {"msg": f"{username}登录成功"}if __name__ == '__main__':uvicorn.run("form_parameter:app", port=8001, reload=True)

  

接口文档

image

 

点击

image

 

显示了默认密码,username也根据正则生成了值

image

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1215140.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

富强

1.11 #3305. LCS 8 考虑求 LCS 的朴素 dp,\(f_{i,j}\),放到平面上,发现大多数时候都是 \(f_{i,j}\to f_{i+1,j+1}\) 的转移才合法,于是可以发现一行中只有 \((i,i)\) 周围的 \(2K\) 个和他自己的 \(f\) 值是有用的…

多无人机协同侦查、任务分配与智能决策仿真解决方案

一、核心架构设计 多无人机协同系统需整合任务分配、路径规划、协同控制与智能决策四大模块,形成“感知-决策-执行”闭环。整体架构如下: 感知层(传感器/侦察数据)→ 任务分配层(优化算法)→ 路径规划层(避障/协…

民主

1.18 AT_arc184_b [ARC184B] 123 Set 原问题难以直接 dp,经典的,考虑构造一个杨表: \[\begin{matrix} a& 2a& 4a & 8a& {16a}\\ 3a& 6a& 12a & {24a}\\ 9a& {18a} & {36a}\\ …

2025年度盘点:这些板材货架厂家正在引领市场,驶入式货架/重型模具货架/手摇式板材货架,板材货架厂商口碑推荐

随着制造业智能化升级加速,仓储环节的效率与空间利用率成为企业降本增效的关键。板材货架作为重型货物存储的核心设备,其技术迭代与定制化能力直接影响生产流程的流畅性。然而,当前市场存在产品同质化严重、非标需求…

导师严选2026 AI论文工具TOP8:本科生毕业论文全场景测评

导师严选2026 AI论文工具TOP8:本科生毕业论文全场景测评 2026年AI论文工具测评:为何选择这些工具? 随着人工智能技术的不断进步,越来越多的本科生开始借助AI工具辅助论文写作。然而,面对市场上五花八门的论文辅助软件…

面试-Decoder-Only生成模型

1 背景 Decoder-Only 模型(如 GPT 系列、Llama)的工作原理是 “根据上下文预测下一个字” 。这种 “递归”的特性导致了必须将推理过程拆分为两个截然不同的阶段。 输入: 整个历史序列。 输出: 下一个 Token。 循环: 预测出的 Token 会被拼接到输入中,作为下一次计算的…

【毕业设计】基于springboot的人脸识别员工考勤管理系统(源码+文档+远程调试,全bao定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

亲测好用!继续教育TOP8一键生成论文工具测评

亲测好用!继续教育TOP8一键生成论文工具测评 2026年继续教育论文工具测评:为何需要这份权威榜单? 在当前继续教育领域,论文写作已成为许多学员必须面对的挑战。无论是选题构思、文献检索,还是内容撰写与格式调整&#…

改变人生的方式

我们会列出很多新年计划,告诉自己今年要干什么,到达到设么目标,这没什么,有上进心的人都会这么做。但绝大多数人都会放弃——研究显示,失败率在 80%–90% 之间。原因并不是他们“不够努力”,而是&#xff1…

FastAPI系列(07):请求体数据

本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/19503695 官网 https://fastapi.tiangolo.com/tutorial/body/ 下面用到的是pydantic模块from pydantic import BaseModel, Field, field_validator 请求…

别只盯着那只“鹦鹉”了!Claude3.7与Sora2才是真正的生产力怪兽

在AI圈子里混久了 你会发现一个怪象 大家都只知道那个G开头的模型 其实在很多专业领域 真正的王者早就换人了 比如写代码和长文本分析 Claude系列才是永远的神 它的逻辑推理能力 简直像是一个严谨的大学教授 而不仅仅是一个会聊天的机器人 还有最近火出圈的Sora2 以…

2026链条直销厂家榜:获取优质厂家联系方式,链条/非标链条/不锈钢链条/工业链条,链条源头厂家推荐排行

在全球工业链加速重构的背景下,链条作为机械传动与输送的核心部件,其质量稳定性直接影响设备运行效率与寿命。据中国机械通用零部件工业协会数据显示,2024年我国链条市场规模突破320亿元,年复合增长率达6.8%,但行…

Agent Skill:新一代 AI 设计模式的原理、实践与 MCP 协同应用解析

目录 前言1. Agent Skill 的概念与发展背景1.1 什么是 Agent Skill1.2 Agent Skill 的产生背景 2. Agent Skill 的核心功能与价值2.1 教会模型“如何做”,而不仅是“做什么”2.2 按需加载与条件触发机制2.3 跨平台复用与开放标准 3. Agent Skill 的技术结构设计3.1 …

Git行尾符战争:如何彻底解决CRLF与LF的跨平台噩梦

目录 前言1 问题现象:那些令人困惑的Git警告1.1 典型的警告信息1.2 相关错误现象 2 问题本质:CRLF与LF的历史渊源2.1 技术背景解析2.2 Git的智能处理机制2.3 核心配置参数:core.autocrlf 3 根本原因:为什么会出现这个问题&#xf…

hot100 230.二叉搜索树中第K小的元素

思路:中序遍历。在二叉搜索树中,中序遍历的遍历顺序就是在从小到大遍历节点值,所以遍历到的第k个节点值就是答案。每次递归完左子树,在根节点的操作中,把k减少1,表示按照中序遍历的顺序访问到了一个节点。当…

hot100 199.二叉树的右视图

见代码随想录 199.二叉树的右视图

hot100 108.将有序数组转换为二叉搜索树

见代码随想录 108.将有序数组转换为二叉搜索树

hot100 98.验证二叉搜索树

见代码随想录 98.验证二叉搜索树

做久坐提醒+拉伸指导工具,设定工作时长,久坐超一小时自动提醒,推送三分钟简易拉伸动作(图文步骤),记录每日拉伸次数。

1. 实际应用场景描述 在现代办公环境中,许多白领、程序员、设计师等长时间坐在电脑前工作,容易导致: - 颈椎、腰椎问题 - 血液循环不畅 - 精神疲劳 虽然知道要活动,但往往忘记或拖延。 本工具适用于办公室、居家办公、学生自习等…

Java毕设项目:基于springboot的社区健康管理系统(源码+文档,讲解、调试运行,定制等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…