使用flask
中的表单,就不需要写html
代码实现表单
步骤
注意 app.config['WTF_CSRF_ENABLED'] = False # 关闭自带的csrf攻击
1.下载包 flask-wtf pip install flask-wtf
2.导入模块用来创建表单类 from flask_wtf import FlaskForm
3.创建表单类(class)继承于 FlaskForm
4.导入表单元素 from wtforms import StringField,SubmitField, PasswordField
5.在视图函数中实例化表单对象,并传递给模板进行渲染
视图函数
from flask import Flask, render_template
from flask import request
from flask_wtf import FlaskForm
from wtforms import StringField, SubmitField, PasswordField
"""
注意 app.config['WTF_CSRF_ENABLED'] = False # 关闭自带的csrf攻击
1.下载包 flask-wtf pip install flask-wtf
2.导入模块用来创建表单类 from flask_wtf import FlaskForm
3.创建表单类(class)继承于 FlaskForm
4.导入表单元素 from wtforms import StringField,SubmitField, PasswordField
5.在视图函数中实例化表单对象,并传递给模板进行渲染
"""
app = Flask(__name__)
app.config['WTF_CSRF_ENABLED'] = False
class Register_Form(FlaskForm):
"自定义一个表单类"
username = StringField('用户名')
passwd = PasswordField('密码')
passwd2 = PasswordField('确认密码')
sub = SubmitField('注册')
@app.route('/', methods=['GET', 'POST'])
def index():
if request.method == 'GET':
register_form = Register_Form()
return render_template('form.html', form=register_form)
if request.method == 'POST':
return '注册成功'
if __name__ == '__main__':
print(app.url_map)
app.run(port=5001, debug=True)
html
<form method="post">
{{ form.username.label }}{{ form.username }}<br>
{{ form.passwd.label }}{{ form.passwd }}<br>
{{ form.passwd2.label }}{{ form.passwd2 }}<br>
{{ form.sub }}
</form>