Flask 表单验证之 WTForms

点击上方“Python编程与实战”,关注公众号

640?wx_fmt=png

本文主要内容

  1. 如何在 Flask 中对参数进行校验

  2. Wtforms 的使用

一:参数验证的必要性

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

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

二:Wtforms 的使用

2.1 基本使用

我们要使用这个库,首先需要进行安装pip install wtforms直接贴代码,感受它的用法,后面我会对代码关键之处进行讲解

640?wx_fmt=png
表单函数

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

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

细心的你可能也发现了确认密码参数 confirmPassword使用了 EqualTo 验证函数来验证 password 和 confirmPassword两者是否相同。

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

2.4 字段类型

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

640?wx_fmt=png

2.3 验证函数

WTForms 支持的表单验证函数

640?wx_fmt=png

2.4 执行校验

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

640?wx_fmt=png
视图

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

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

640?wx_fmt=gif

推荐阅读

640?wx_fmt=gif


PS: 为了方便交流,建了一个 Python 微信交流群,可以扫码下方二维码,添加本人微信,广告勿扰,谢谢!

640?wx_fmt=jpeg

发布了51 篇原创文章 · 获赞 26 · 访问量 9921

猜你喜欢

转载自blog.csdn.net/spider_py/article/details/101691847