Flask-WTF是简化了WTForms操作的一个第三方库。WTForms表单的两个主要功能是验证用户提交数据的合法性以及渲染模板。当然还包括一些其他的功能:CSRF保护,文件上传等。安装Flask-WTF默认也会安装WTForms,因此使用以下命令来安装Flask-WTF: pip install flask-wtf
。
例如上淘宝的时候登陆,先查用户输入的是不是满足条件,不满足都不会查数据库。即 查询数据库之前就来验证是否满足要求了。
WTForms是可以在其他框架也一起使用的,如django等。而Flask专门简化了这个第三方库,来方便进行项目的操作。
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’)是必须相等的意思。
在action中的意思是,当点击按钮之后,要把数据发送到哪个url。
method是指请求方法。同时需要注意input的name需要跟自己设置的对应。
如果缺少邮箱的验证器,可以使用 pip install email_validator来进行安装。
同时在上面的代码中需要进行改进,即对于视图默认是只支持GET,需要增加post如下图所示:
这样就可以进行验证了。(初步缓解数据库的压力)。