当前位置: 首页 > news >正文

FastAPI 数据验证 Pydantic Flask 用 WTForms

使用 Flask + WTForms

fromflaskimportFlask,render_template,requestfromwtformsimportForm,StringField,validators app=Flask(__name__)# 1. 定义表单类classRegistrationForm(Form):username=StringField('用户名',[validators.Length(min=4,max=25,message='长度需在4-25之间'),validators.DataRequired(message='用户名不能为空')])email=StringField('邮箱',[validators.Email(message='请输入有效的邮箱地址'),validators.DataRequired(message='邮箱不能为空')])@app.route('/register',methods=['GET','POST'])defregister():form=RegistrationForm(request.form)# 2. 手动绑定请求数据ifrequest.method=='POST'andform.validate():# 3. 手动验证# 4. 验证通过,获取数据username=form.username.data email=form.email.datareturnf'用户{username}注册成功!'# 5. 渲染表单和错误信息returnrender_template('register.html',form=form)

使用 FastAPI + Pydantic

fromfastapiimportFastAPIfrompydanticimportBaseModel,EmailStr,Field app=FastAPI()# 1. 定义数据模型classUserRegistration(BaseModel):username:str=Field(...,min_length=4,max_length=25,description='用户名')email:EmailStr=Field(...,description='邮箱地址')# 2. 在路径操作函数中直接声明模型类型@app.post('/register')asyncdefregister(user:UserRegistration):# FastAPI 自动完成绑定、解析和验证# 3. 验证通过,直接使用return{'message':f'用户{user.username}注册成功!'}

http://www.jsqmd.com/news/615743/

相关文章:

  • Infoseek舆情系统决策树:在回应、沉默与引导间寻找最优解
  • OpenClaw+Phi-3-mini-128k-instruct:自动化生成技术博客并发布Hexo
  • 【成本控制生死线】:GraalVM静态镜像内存优化的7个黄金法则——某金融云平台年省$2.8M的真实路径
  • HTML怎么创建课程大纲_HTML章节+课时嵌套结构【方法】
  • 国密 SM4 加密 C 语言嵌入式实现
  • [Linux][虚拟串口]x一个特殊的字节露
  • 带标注信息的交通信号灯识别数据集,可识别左转灯,红绿黄灯,识别率82.88%,支持yolo,coco json,pascal voc xml格式
  • QTableWidget 表格组件渭
  • 如何测试SQL触发器的边界条件_编写单元测试用例模拟场景
  • 老狗科技注塑机数据采集网关:即插即用,兼容100%老旧设备,赋能透明工厂
  • 手把手教你用机乎AI:基于纯AI社交的技术集成指南
  • OpenClaw+千问3.5-35B-A3B-FP8:学术PDF自动摘要与图表解析
  • 大数据开发学习Day8
  • 《四十悟赋》
  • Prodigy宣布推出全球业界功能强大的I3C协议训练器
  • esp-gui:面向ESP32的轻量级嵌入式GUI事件驱动框架
  • WebSerial:基于WebSocket的MCU嵌入式Web终端技术
  • 电商客服+导购智能体的设计与开发豆
  • LangGraph V1.0.5 文档精炼版
  • OpenClaw学习助手:百川2-13B量化模型自动整理课程笔记
  • Springboot 实现多数据源(PostgreSQL 和 SQL Server)连接该
  • AI开发-python-langchain框架(--并行流程 )伪
  • 企业级医疗 IoT 平台实战:实时生命体征系统从单机高并发到云原生流式 AI 的架构演进
  • 力扣396
  • 深度解析:红海云为何成为大中型企业首选HR数字化底座
  • OpenClaw+SecGPT-14B低成本方案:树莓派家庭安全中枢搭建
  • DS18B20多点温度采集驱动库设计与工业应用
  • 打理多个微信不用慌,告别切换内耗很简单
  • 碳纳米管的导电性、导热性到底有多好?
  • 大模型之Linux服务器部署大模型礁