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

锚文本对网站装修网土巴兔

锚文本对网站,装修网土巴兔,线上营销推广方式,小程序制作用什么软件使用Flask和Pydantic实现参数验证 1 简介 Pydantic是一个用于数据验证和解析的 Python 库#xff0c;版本2的性能有较大提升#xff0c;很多框架使用Pydantic做数据校验。 # 官方参考文档 https://docs.pydantic.dev/latest/# Github地址 https://github.com/pydantic/pyd…使用Flask和Pydantic实现参数验证 1 简介 Pydantic是一个用于数据验证和解析的 Python 库版本2的性能有较大提升很多框架使用Pydantic做数据校验。 # 官方参考文档 https://docs.pydantic.dev/latest/# Github地址 https://github.com/pydantic/pydantic2 使用Flask自定义参数校验 2.1 结构 2.2 源代码 app_result.py import jsonfrom flask import jsonifydef result(data: object None, code: int 200, msg: str success):Set the result of web:param data: It is data of status:param code: It is code of status:param msg: It is a message of status:return: dict# 将对象转化为json字符串data_json_str json.dumps(data, ensure_asciiFalse, defaultlambda obj: obj.__dict__)# 将json字符串转化为json字典data_json_dict json.loads(data_json_str)# 设置返回值字典result_dict {code: code,msg: msg,data: data_json_dict}return jsonify(result_dict) validate_request.py from flask import request from pydantic import ValidationErrorfrom entity.app.app_result import resultdef validate_form(form_object):# 设置含有请求参数的装饰器def inner(fun):def inner_sub():try:# 获取Content-Typecontent_type request.content_typeif content_type is None:return result(code400, msgNo parameters)# 验证参数form_instance None# 获取 “application/json” 请求if application/json in content_type:# 获取json字典数据parameters request.get_json(silentTrue)# 将字典转化为对象form_instance form_object(**parameters)else:# 获取 application/x-www-form-urlencoded 或者 multipart/form-data 请求等parameters request.form.to_dict()# 将字典转化为对象form_instance form_object(**parameters)# print(parameters)return fun(form_instance)except ValidationError as e:print(e.json())# 存储错误参数列表parameters_invalid list()# 处理参数for error in e.errors():parameters_invalid.append({attr: error.get(loc)[0],msg: error.get(msg)})return result(parameters_invalid, code400, msgThe parameter is invalid)# 更改视图名称inner_sub.__name__ fun.__name__return inner_subreturn inner data_form.py from typing import Optionalfrom pydantic import BaseModel, Field, field_validatorclass DataForm(BaseModel):# Python中...3个点是Ellipsis对象主要用于切片操作和类型注解‌# pydantic中Field的...3个点表示必填项name: str Field(..., titleThe name of the item, descriptiondeldldlddl, max_length5)desc: Optional[str] Field(..., titleThe description of the item, max_length2)price: float Field(..., titleThe price of the item, ge0.01)# 如果不使用Field设置验证参数可以使用field_validator注解# 自定义验证器field_validator(price)# cls是一个用于类方法的参数代表类本身def age_must_be_positive(cls, v):if v 0:raise ValueError(年龄不能为负数)return vindex.py from flask import Flask, Blueprintfrom test.data_form import DataForm from entity.form.validate_request import validate_formapp Flask(__name__)# 构建蓝本 admin Blueprint(admin, __name__)admin.route(/info) validate_form(DataForm) def info(info_form: DataForm):print(info_form.name)print(info_form.desc)return Hello Adminadmin.route(/msg) validate_form(DataForm) def msg(msg_form: DataForm):print(msg_form)return Hello Admin# 注册蓝本 app.register_blueprint(admin, url_prefix/admin)if __name__ __main__:app.run(host0.0.0.0, debugTrue)2.3 返回值
http://www.dnsts.com.cn/news/254794.html

相关文章:

  • python做电商网站在国外建网站方便吗
  • 华为企业网站建设分析python做网页界面
  • 个人网站模板之家网页制作与网站建设教程视频
  • 青海网站建设企业任丘市做网站
  • 网站正能量点进去就能看网站模板d一品资源网
  • 抖音代运营成功案例南宁seo咨询
  • 环境文化建设方案网站3d建模师工资一般多少
  • 为什么只有建设网站打不开网站建设线框图
  • 国内公司网站需要备案商务型网站模板
  • 手机电影网站怎么做的网页制作软件推荐
  • 电子商务网站建设的方法有哪些方面如何做网站稳定客户
  • 如何保存个人网站交流网站建设心得体会
  • 学网站开发网页制作网站 空间 备案
  • 旅游景区网站建设规划mip网站模板
  • 网站托管代运营wordpress 删除分类目录
  • 高明顺德网站建设义乌企业网站设计
  • 服装模板网站信息流优化师简历
  • 手机旅游视频网站模板网站建设行业税率
  • 做彩票网站犯法不长沙 外贸网站建设公司价格
  • 常州网站关键词推广自助网站建设软件
  • 网站访问量大怎么办sap软件
  • 深圳一元网站建设公司北京飞雨网站建设公司
  • 专注外贸建站wordpress百家号模版
  • 学校网站群建设必要潜江网站搭建
  • 重庆网站怎么做出来的学校建设外文网站情况
  • 网站制作前期所需要准备网站都不需要什么备案
  • 做网站熊掌号wordpress更新空白
  • 天眼官方网站网站信息维护
  • 电器网站建设策划书网站优化方式有哪些
  • 网站建设后台 手工上传soho个人可以建网站吗