flask_Restful数据解析参数设置

news2024/9/23 20:08:11
add_argument 方法参数详解
  • add_argument方法可以指定这个字段的名字,这个字段的数据类 型等,验证错误提示信息等,具体如下:
  • default默认值,如果这个参数没有值,那么将使用这个参数 指定的默认值。
  • required是否必须。默认为False,如果设置为True,那么这 个参数就必须提交上来。
  • type这个参数的数据类型,如果指定,那么将使用指定的数 据类型来强制转换提交上来的值。可以使用python自带的一些 数据类型(str或者int),也可以使用flask_restful.inputs下的一 些特定的数据类型来强制转换。 url:会判断这个参数的值是否是一个url,如果不是,那么就会抛出异常。 regex:正则表达式。 date:将这个字符串转换为datetime.date数据类型。如果转换不成功,则会抛出一个异常.
  • choices固定选项。提交上来的值只有满足这个选项中的值才 符合验证通过,否则验证不通过。
  • help错误信息。如果验证失败后,将会使用这个参数指定的 值作为错误信息。
  • trim是否要去掉前后的空格。
# flask_Restful数据解析参数设置
from flask import Flask
from flask_restful import Api,Resource,inputs
from  flask_restful.reqparse import RequestParser

app = Flask(__name__)
api = Api(app)

class RegisterView(Resource):
    def post(self):
        # 建立解析器
        parser = RequestParser()
        # 定义解析规则
        parser.add_argument('uname',type=str,required=True,trim=True,help='用户名不符合规范',location="args")
        parser.add_argument('pwd',type=str,help='密码错误',default='123456',location="args")
        parser.add_argument('age',type=int,help ='年龄验证错误!',location="args")
        parser.add_argument('gender',type=str,choices=['男','女','保密'],help='性别验证错误',location="args")
        parser.add_argument('birthday',type=inputs.date,help='生日验证错误',location="args")
        parser.add_argument('phone',type=inputs.regex('^1[356789]\d{9}$'),help='电话验证错误',location="args")
        parser.add_argument('homeage',type=inputs.url,help='个人主页验证错误',location="args")
        # 解析数据
        args = parser.parse_args()
        print(args)
        return {'msg':'注册成功!'}

api.add_resource(RegisterView,'/register')

if __name__=="__main__":
    app.run(debug=True)

执行结果:

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

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

相关文章

防外破警示灯:高压线“守护神”,照亮安全之路

近年来,随着城市施工建设项目不断增多,大型施工机械在输电通道内活动越来越频繁,线路外破隐患点大幅增多。一旦施工机械在作业过程中碰触到高压线,将会造成线路外破事故,严重威胁输电线路和施工人员的安全。 哪些境况下…

STM32之HAL开发——HAL库框架介绍

HAL库外设设计思想 HAL库借鉴面向对象的设计思想,将外设驱动封装为对象。 HAL库使用主线 HAL使用的主要用在俩个地方,无外乎外设初始化以及外设的使用。想用好这两个功能,我们首先得对外设的封装有一定的了解。 句柄结构体 xx_HandleTypeDef…

二. CUDA编程入门-使用CUDA进行矩阵乘法的加速

目录 前言0. 简述1. 初步计算 MatMul1.1 执行一下我们的第三个CUDA程序1.2 host端与device端的数据传输1.3 CUDA Core的矩阵乘法计算1.4 代码分析 2. CUDA中的error handler2.1 为什么需要有error handler 3. 获取GPU信息3.1 执行一下我们的第五个CUDA程序3.2 为什么要注意硬件…

3月23日笔记

广播域与泛洪范围是相同的 广播:在同一个泛洪范围内,强迫交换机泛洪(主动) 泛洪(被动) ARP的工作原理:ARP先通过广播发送请求包,所有收到该广播包的设备都会将其中的源IP和源MAC相…

Node.js新手必备:超实用命令行入门教程

1.安装Node.js和npm 首先,我们需要下载并安装Node.js,它自带了npm(Node Package Manager)。安装完成后,在命令行输入: node -v npm -v 这两个命令分别显示已安装的Node.js和npm版本,确认安装成…

LeetCode 热题 HOT 100(P21~P30)

系列文章: LeetCode 热题 HOT 100(P1~P10)-CSDN博客 LeetCode 热题 HOT 100(P11~P20)-CSDN博客 LeetCode 热题 HOT 100(P21~P30)-CSDN博客 LC48rotate_image . - 力扣(LeetCode) 题目: 给定一个 n n 的二维矩阵 matrix 表…

【电路笔记】-场效应管(FET)电流源

场效应管(FET)电流源 文章目录 场效应管(FET)电流源1、概述2、偏置结 FET2.1 N沟道JFET偏置2.2 N沟道JFET输出特性3、JFET 作为恒流源4、JFET 零电压偏置5、JFET 负电压偏置6、FET 恒流源示例17、JFET电流源8、FET 恒流源示例29、FET 恒流源示例310、总结FET 恒流源使用 JFET 和…

SpringBoot3集成PostgreSQL

标签:PostgreSQL.Druid.Mybatis.Plus; 一、简介 PostgreSQL是一个功能强大的开源数据库系统,具有可靠性、稳定性、数据一致性等特点,且可以运行在所有主流操作系统上,包括Linux、Unix、Windows等。 通过官方文档可以…

学习刷题-13

3.23 hw机试【二叉树】 剑指offer32 剑指 offer32(一、二、三)_剑指offer 32-CSDN博客 从上到下打印二叉树I 一棵圣诞树记作根节点为 root 的二叉树,节点值为该位置装饰彩灯的颜色编号。请按照从 左 到 右 的顺序返回每一层彩灯编号。 输…

WiFi已连接却不可上网是什么原因?

很多使用wifi上网的用户都遇到过这样的问题,就是电脑已经连接了wifi,但就是上不了网。着到底是怎么回事呢?今天,极客狗带大家一起来找找WiFi已连接却不可上网是什么原因,并给出对应的解决方。 原因分析: 可能是ip地址冲突所导致,也有可能是宽带出先故障,不妨试试下面的…

OpenHarmony使用智能指针管理动态分配内存对象

概述 智能指针是行为类似指针的类,在模拟指针功能的同时提供增强特性,如针对具有动态分配内存对象的自动内存管理等。 自动内存管理主要是指对超出生命周期的对象正确并自动地释放其内存空间,以避免出现内存泄漏等相关内存问题。智能指针对…

装修行业万能DIY小程序源码系统 带完整的安装的代码包以及搭建教程

在如今数字化、智能化的时代背景下,装修行业也迎来了前所未有的发展机遇。为了满足广大装修从业者及业主的需求,罗峰给大分享了这款装修行业万能DIY小程序源码系统。该系统不仅提供了完整的安装代码包,还附带了详细的搭建教程,让用…

零基础入门数据挖掘系列之「特征工程」

摘要:对于数据挖掘项目,本文将学习应该从哪些角度做特征工程?从哪些角度做数据清洗,如何对特征进行增删,如何使用PCA降维技术等。 特征工程(Feature Engineering)对特征进行进一步分析&#xf…

详解机器学习概念、算法

目录 前言 一、常见的机器学习算法 二、监督学习和非监督学习 三、常见的机器学习概念解释 四、深度学习与机器学习的区别 基于Python 和 TensorFlow 深度学习框架实现简单的多层感知机(MLP)神经网络的示例代码: 欢迎三连哦! 前言…

美团2024届秋招笔试第二场编程真题

要么是以0开头 要么以1开头 选择最小的答案累加 import java.util.Scanner; import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和…

批量高效剪辑视频,轻松调整视频时长,轻松打造完美节奏

在数字化时代,视频内容已成为我们生活中不可或缺的一部分。无论是社交媒体上的短视频,还是专业影视制作中的长片,视频剪辑都扮演着至关重要的角色。然而,面对大量视频素材,如何高效地进行剪辑调整,让每一帧…

临床数据采集痛点有哪些?怎样解决临床数据问题?

临床医学离不开数据采集,但想要得到高质量数据还是比较难,因为数据来源比较多,传统数据采集方式给临床医生带来诸多不便。 临床数据采集有哪些? 1、医院HIS、LIS系统 2、病案室档案和文件 3、医院信息科采集的数据 4、平时自…

cocos3.0资源管理

AssetBundle 官方文档:点击这里 资源缓存 官方文档:点击这里 引擎下载资源的逻辑如下:1.判断资源是否在游戏包内,如果在则直接使用;2.如果不在则查询资源是否在本地缓存中,如果在则直接使用;3.…

2024国自然状态 “已审核”代表什么?

2024年3月18日,16:00是今年国自然集中受理期项目的截止申报时间。 目前,已有多位申请人表示:提交的2024年国自然项目的状态,变成了已审核。 “已审核”代表啥? 图源:网络 申请人登录基金委ISIS系统&#…

LeetCode每日一题——移除链表元素

移除链表元素OJ链接:203. 移除链表元素 - 力扣(LeetCode) 题目: 思路: 这与之前的移除元素的题目很相似,那么我们同样可以用类似的做法(双指针)进行解题。但是这是一个链表删除&a…