Flask 表单验证之 WTForms

简介: Flask 表单验证之 WTForms

本文主要内容

  1. 如何在 Flask 中对参数进行校验
  2. Wtforms 的使用

一:参数验证的必要性

当你处理浏览器提交的 POST 带有参数的请求时,比如一个用户注册的功能,网站都会对用户提交的密码长度进行限制。这时候如果视图函数中编写自定义的参数校验的时候,视图代码很快会变得难以阅读。

尤其当参数非常多的时候,代码会变得更加难以维护。在 Flask 中有一些库可以简化这个工作, Wtforms 便是当中非常优秀的一个库,它在 Flask-WTF 的基础上扩展并加了一些随手可得的精巧帮助函数,这些函数将会在应用中让你事半功倍!

二:Wtforms 的使用

2.1 基本使用

我们要使用这个库,首先需要进行安装

pip install wtforms

直接贴代码,感受它的用法,后面我会对代码关键之处进行讲解

640.png

表单函数

可以看到在表单函数中注册的接口有 5 个参数,后面的 StringField 和 PasswordField 代表的是其参数类型。那么它是怎么对参数进行验证的呢?

答案就是 validators 关键词参数,它接收一个数组。比如上图代码 email 参数是必填的,同时对其长度进行了限制,只支持 6 - 35 位,同时对 password 密码这个参数的长度也进行了限制。

细心的你可能也发现了确认密码参数 confirmPassword

使用了 EqualTo 验证函数来验证 password 和 confirmPassword两者是否相同。

通过以上的类,非常简单就对表单参数进行了校验,而不用我们自己去手动编写函数,对表单参数一个一个的进行校验。除了以上参数类型和验证函数之外,Wtforms 还提供许多其他的类型和函数,我们一起来看看!

2.4 字段类型

Wtforms 支持的字段类型非常丰富,说明中写的很详细了,根据自己的需求导入即可

640.png

2.3 验证函数

WTForms 支持的表单验证函数

2.4 执行校验

前面我们在 RegisterForm 类中定义了字段及验证,那么我们如何在视图函数中使用呢?

640.png

视图

很简单,导入刚才定义的 form 表单,然后调用其验证函数 validate() 执行校验即可,它返回的是一个布尔值。所以只需对其进行判断就完事了!

如果觉得对你有帮助,还请帮忙点赞或转发!你们的支持是我最大的动力!

相关文章
|
前端开发 数据安全/隐私保护 数据格式
Flask框架之WTForms(详解)
Flask框架之WTForms(详解)
|
前端开发 Python 数据安全/隐私保护
|
6天前
|
JSON API 数据格式
如何使用Python和Flask构建一个简单的RESTful API。Flask是一个轻量级的Web框架
本文介绍了如何使用Python和Flask构建一个简单的RESTful API。Flask是一个轻量级的Web框架,适合小型项目和微服务。文章从环境准备、创建基本Flask应用、定义资源和路由、请求和响应处理、错误处理等方面进行了详细说明,并提供了示例代码。通过这些步骤,读者可以快速上手构建自己的RESTful API。
18 2
|
8天前
|
JSON API 数据格式
构建RESTful APIs:使用Python和Flask
构建RESTful APIs:使用Python和Flask
18 1
|
19天前
|
JSON API 数据格式
构建RESTful APIs:使用Python和Flask
【10月更文挑战第12天】本文介绍了如何使用Python和Flask构建一个简单的RESTful API。首先概述了API的重要性及RESTful API的基本概念,接着详细讲解了Flask框架的特性和安装方法。通过创建一个基本的Flask应用,定义了处理“图书”资源的GET、POST、PUT和DELETE方法的路由,展示了如何处理请求和响应,以及如何进行错误处理。最后,提供了运行和测试API的方法,总结了Flask在构建RESTful API方面的优势。
29 1
|
20天前
|
JSON API 数据格式
构建RESTful APIs:使用Python和Flask
【10月更文挑战第10天】本文介绍了如何使用Python和Flask构建一个简单的RESTful API。Flask是一个轻量级的Web应用框架,适合小型项目和微服务。文章从环境准备、创建基本Flask应用、定义资源和路由、请求和响应处理、错误处理等方面进行了详细说明,并提供了代码示例。通过这些步骤,读者可以快速掌握使用Flask构建RESTful API的方法。
43 1
|
29天前
|
数据库 开发者 Python
使用Python和Flask构建Web应用
【10月更文挑战第2天】使用Python和Flask构建Web应用
24 1
|
1月前
|
API 数据库 开发者
Flask:Python的轻量级Web框架
Flask:Python的轻量级Web框架
31 2
|
2月前
|
数据采集 NoSQL 调度
flask celery python 每月定时任务
flask celery python 每月定时任务
|
3月前
|
前端开发 计算机视觉 Python
flask+python 实时视频流输出到前台
该文章介绍了如何使用Flask和Python实现实时视频流输出到网页前端,包括后端通过OpenCV捕获摄像头视频流、处理并编码为JPEG格式,然后以HTTP响应的形式发送给前端显示的完整示例代码和运行效果。
flask+python 实时视频流输出到前台