提示:
(1)继承FlaskForm 类,(导入: from flask_wtf import FlaskForm)
(2)导入表单中标签类型: from wtforms import StringField, PasswordField, SubmitField
(3)定义校验规则:from wtforms.validators import DataRequired, EqualTo
from flask import Flask,render_template,request
app=Flask(__name__)
from flask_wtf import FlaskForm
from wtforms import StringField,PasswordField,SubmitField
from wtforms.validators import DataRequired,EqualTo
app.config['SECRET_KEY']='abc'
#1.创建一个类继承FlaskForm类
class RegisterForm(FlaskForm):
username=StringField(label='用户名',validators=[DataRequired('用户名不能为空')])
password=PasswordField(label='密码',validators=[DataRequired('密码不能为空')])
password2=PasswordField(label='确认密码',validators=[DataRequired('密码不能为空'),EqualTo('password','两次输入的密码不同')])
submit=SubmitField('注册')
@app.route('/register/',methods=['GET','POST'])
def register():
form=RegisterForm()
if request.method=='POST':
#如果内容符合验证规格则返回True,否则返回False
if form.validate_on_submit():
#获取表单提交过来的内容
username=form.username.data
password=form.password.data
password2=form.password2.data
return 'success!!!'
return render_template('register.html',form=form)
if __name__ == '__main__':
app.run(debug=True)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>注册</title>
</head>
<body>
<form method="post">
{{ form.csrf_token }}
{{ form.username.label }}:{{ form.username }}
<span style="color: red">{{ form.username.errors.0 }}</span>
<br>
{{ form.password.label }}:{{ form.password }}
<span style="color: red">{{ form.password.errors.0 }}</span>
<br>
{{ form.password2.label }}:{{ form.password2 }}
<span style="color: red">{{ form.password2.errors.0 }}</span>
<br>
{{ form.submit }}
</form>
</body>
</html>