一、安装
pip install wtforms
Flask 表单操作库 flask_WTF flask_WTForms
Flask 之 flask-SQLAlchemy 的使用
使用 WTForms 进行表单验证
1.1、wtforms源码执行流程
二、简单的使用
# 第一中使用方法
from wtforms import Form, BooleanField,TextField,PasswordField,validators
class RegistrationForm(Form): # 定义的 form 表单类必须继承 Form
username = TextField('Username', [validators.Length(min=4, max=25)],default='123')
email = TextField('Email Address', [validators.Length(min=6, max=35)])
password = PasswordField('New Password', [
validators.Required(),
validators.EqualTo('confirm', message='Passwords must match')
])
confirm = PasswordField('Repeat Password')
accept_tos = BooleanField('I accept the TOS', [validators.Required()])
# 第二种使用方法
from wtforms.fields import core # 核心功能
from wtforms.fields import html5 # html5标签
from wtforms.fields import simple # 简单使用
from wtforms import Form
from wtforms import validators
from wtforms import widgets
class RegistrationForm(Form):
username = simple.StringField(
label='用户名',
validators=[
Myvalidators(message="用户名必须是haiyan"),#也可以自定义正则
validators.DataRequired(message="用户名不能为空"),
validators.Length(max=8,min=3,message="用户名长度必须大于%(max)d且小于%(min)d")
],
widget=widgets.TextInput(),
render_kw={
'style':'font-size:12px;','class':'user'},
default='123',
)
password = simple.PasswordField(
label='密码',
validators=[
validators.DataRequired(message="密码不能为空"),
validators.Length(max=8,min=3,message="密码长度必须大于%(max)d且小于%(min)d"),
validators.Regexp(regex="\d+",message="密码必须是数字"),
],
widget=widgets.PasswordInput()