# coding=utf-8 from flask import Flask, render_template from flask_wtf import FlaskForm from wtforms import StringField, PasswordField, SubmitField from wtforms.validators import DataRequired, EqualTo app = Flask(__name__) app.config["SECRET_KEY"] = "akfsakfassdkjsakdwnm" class RegisterForm(FlaskForm): user_name = StringField(label=u"用戶名", validators=[DataRequired(u"用戶名不能爲空")]) password = PasswordField(label=u"密碼", validators=[DataRequired(u"密碼不能爲空")]) password2 = PasswordField(label=u"確認密碼", validators=[DataRequired(u"確認密碼不能爲空"), EqualTo("password", u"兩次密碼不一致")]) submit = SubmitField(label=u"提交") @app.route("/register") def register(): form = RegisterForm() return render_template("register.html", form=form) if __name__ == '__main__': app.run(debug=True)
render_template模塊:調用模板
flask_wtf模塊:表單
wtforms模塊:安裝flask_wtf時自動安裝,不用另外安裝,
StringField 字符串,
PasswordField 密碼,
SubmitField 提交操做
DataRequired模塊:驗證表單項
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form method="post"> {{form.user_name.label}} <p>{{form.user_name}}</p> {% for msg in form.user_name.errors %} <p>{{msg}}</p> {% endfor %} {{form}} {{form.password.label}} <p>{{form.password}}</p> {% for msg in form.password.errors %} <p>{{msg}}</p> {% endfor %} {{form}} {{form.password2.label}} <p>{{form.password2}}</p> {% for msg in form.password2.errors %} <p>{{msg}}</p> {% endfor %} {{form}} </form> </body> </html>