WTForms 是一个flask集成框架,或者说是库,用于处理浏览器表单提交的数据,
WTForms的作用主要有两点:1、验证表单;2、渲染模板
一、首先我们从wtfroms库中导入Form、StringField(用户验证input字段类型)代码如下:from wtforms import Form,StringField
二、当您使用WTForms时,要将表单定义为类,创建一个表单验证类,传入参数Form(不传参数是一个普通类):
class RegistForm(Form):
pass
三、接着从wtforms.validator中导入Length,EqualTo(验证用户输入字符长度及密码与确认密码是否一致),代码如下:
from swtforms.validator import Length,EqualTo
四、在该类中定义需要验证的字段及相应的验证条件。注意:name、password、repeat_pwd需与input中name保持一致!代码如下:
class RegistForm(Form):
name = StringField(validators=[Length(max=6,min=3)])
password = StringField(validators=[Length(max=10,min=3)])
repeat_pwd = StringField(validators=[Length(max=10,min=3),EqualTo("password")])
五、异常输出方法:在验证器中定义message参数,代码如下所示:
class RegistForm(Form):
name = StringField(validators=[Length(max=6,min=3)])
password = StringField(validators=[Length(max=10,min=3,message="密码长度必须大于3并且小于10")])
repeat_pwd = StringField(validators=[Length(max=10,min=3,message="密码长度必须大于3并且小于10"),EqualTo("password")])
六、字段定义 字段以声明方式定义为表单上的成员:
class MyForm(Form): name = StringField(u'Full Name', [validators.required(), validators.length(max=10)]) address = TextAreaField(u'Mailing Address', [validators.optional(), validators.