Flask学习与项目实战9:WTF表单验证

1.WTF表单验证介绍

Flask-WTF是简化了WTForms操作的一个第三方库。WTForms表单的两个主要功能是验证用户提交数据的合法性以及渲染模板。当然还包括一些其他的功能:CSRF保护,文件上传等。安装Flask-WTF默认也会安装WTForms,因此使用以下命令来安装Flask-WTF: pip install flask-wtf

例如上淘宝的时候登陆,先查用户输入的是不是满足条件,不满足都不会查数据库。即 查询数据库之前就来验证是否满足要求了。

WTForms是可以在其他框架也一起使用的,如django等。而Flask专门简化了这个第三方库,来方便进行项目的操作。

2.进行表单验证

validators就是传一些验证参数进去来进行比较。

代码如下:

class RegistForm(Form):
    name = StringField(validators=[length(min=4,max=25)])
    email = StringField(validators=[email()])
    password = StringField(validators=[DataRequired(),length(min=6,max=10),EqualTo('confirm')])
    confirm = StringField()

DataRequired是密码必须输入的意思,EqualTo(‘confirm’)是必须相等的意思。

3.代码实现

Flask学习与项目实战9:WTF表单验证_第1张图片
在action中的意思是,当点击按钮之后,要把数据发送到哪个url。

method是指请求方法。同时需要注意input的name需要跟自己设置的对应。

Flask学习与项目实战9:WTF表单验证_第2张图片
Flask学习与项目实战9:WTF表单验证_第3张图片
如果缺少邮箱的验证器,可以使用 pip install email_validator来进行安装。

同时在上面的代码中需要进行改进,即对于视图默认是只支持GET,需要增加post如下图所示:
Flask学习与项目实战9:WTF表单验证_第4张图片
Flask学习与项目实战9:WTF表单验证_第5张图片
这样就可以进行验证了。(初步缓解数据库的压力)。

你可能感兴趣的:(Python,Flask框架,flask,python,后端)