前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Flask 表单验证之 WTForms

Flask 表单验证之 WTForms

作者头像
Python编程与实战
发布2019-12-05 14:57:43
1.7K0
发布2019-12-05 14:57:43
举报

本文主要内容

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

一:参数验证的必要性

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

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

二:Wtforms 的使用

2.1 基本使用

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

表单函数

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

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

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

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

2.4 字段类型

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

2.3 验证函数

WTForms 支持的表单验证函数

2.4 执行校验

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

视图

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python编程与实战 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 本文主要内容
  • 一:参数验证的必要性
  • 二:Wtforms 的使用
    • 2.1 基本使用
      • 2.4 字段类型
        • 2.3 验证函数
          • 2.4 执行校验
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档