Flask_WTF实现表单
Flask_WTF实现表单可分为六个步骤:
①导入FlaskForm扩展包(from flask_wtf import FlaskForm)
②导入StringField,PasswordField,SubmitField (from wtforms import StringField,PasswordField,SubmitField)
③定义表单类
class RegisterForm(FlaskForm):
username = StringField('账号:')
password = PasswordField('密码:')
password2 = PasswordField('确认密码:')
submit=SubmitField('提交')
④定义路由
@app.route('/regist',methods=['GET','POST'])
def regist_form():
redist_form=RegisterForm()
return render_template('registform.html',form=redist_form)
⑤html文件中实现表单
<form method="post">
{{ form.username.label }}{{ form.username }}<br>
{{ form.password.label }}{{ form.password }}<br>
{{ form.password2.label }}{{ form.password2 }}<br>
{{ form.submit }}
</form>
完整代码:
app.py
from flask import Flask,render_template,request,flash
from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField,SubmitField
app = Flask(__name__)
app.secret_key='yingjie'
# 定义表单类
class RegisterForm(FlaskForm):
username = StringField('账号:')
password = PasswordField('密码:')
password2 = PasswordField('确认密码:')
submit=SubmitField('提交')
@app.route('/regist',methods=['GET','POST'])
def regist_form():
redist_form=RegisterForm()
return render_template('registform.html',form=redist_form)
if __name__ == '__main__':
app.run()
registform.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form method="post">
{{ form.username.label }}{{ form.username }}<br>
{{ form.password.label }}{{ form.password }}<br>
{{ form.password2.label }}{{ form.password2 }}<br>
{{ form.submit }}
</form>
</body>
</html>
运行结果: