Skip to content

Commit 0c2c4b4

Browse files
committed
update flask-10
1 parent 78c7d92 commit 0c2c4b4

File tree

6 files changed

+79
-73
lines changed

6 files changed

+79
-73
lines changed

Flask-10-wtf/form.py

Lines changed: 0 additions & 10 deletions
This file was deleted.

Flask-10-wtf/run.py

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
from flask import Flask, render_template, request, flash
2+
3+
app = Flask(__name__)
4+
5+
# 导入tf扩展的表单类
6+
from flask_wtf import FlaskForm
7+
8+
# 导 入自定义表单需要的字段
9+
from wtforms import SubmitField, StringField, PasswordField
10+
11+
# 导入wtf扩展提供的表单验证
12+
from wtforms.validators import DataRequired, EqualTo
13+
14+
15+
# 自定义表单类、文本字段、密码字段、提交按钮
16+
# 使用WTF实现表单 需要自定义一个表单类
17+
class LoginForm(FlaskForm):
18+
# StringField/PasswordField是区别文本框类型, 用户名/密码是指定label值, validators 就是指明要验证哪些项
19+
username = StringField('用户名:', validators=[DataRequired()])
20+
password = PasswordField('密码:', validators=[DataRequired()])
21+
password2 = PasswordField('确认密码:', validators=[DataRequired(), EqualTo('password', '密码填入的不一致')])
22+
submit = SubmitField('提交')
23+
24+
25+
# 定义根路由视图函数,生成表单对象,获取表单数据,进行表单数据验证
26+
@app.route('/form', methods=['GEt', 'POST'])
27+
def login():
28+
# 由RegisterForm类生成一个表实例
29+
login_form = LoginForm()
30+
31+
# 逻辑处理
32+
if request.method == 'POST':
33+
34+
# 获取请求的参数
35+
username = request.form.get('username')
36+
password = request.form.get('password')
37+
password2 = request.form.get('password2')
38+
39+
# 调用validation_on_submit方法,可以一次性执行完所有验证函数的逻辑
40+
if login_form.validate_on_submit():
41+
# 进入这里就表示所有的逻辑都验证成功
42+
print(username)
43+
return 'success'
44+
45+
else:
46+
# message = register_form.get('password2')[0]
47+
# flash(message)
48+
flash('参数有误')
49+
50+
# 把实例化后的register_form传入到页面wtf.html中
51+
return render_template('login.html', form=login_form)
52+
53+
54+
@app.route('/')
55+
def index():
56+
return render_template('index.html')
57+
58+
59+
if __name__ == '__mian__':
60+
app.run()

Flask-10-wtf/templates/form.html

Lines changed: 0 additions & 21 deletions
This file was deleted.

Flask-10-wtf/templates/helper.html

Lines changed: 0 additions & 20 deletions
This file was deleted.

Flask-10-wtf/templates/login.html

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<title>Title</title>
6+
</head>
7+
<body>
8+
9+
<form method="post">
10+
{# 设置scrf_token #}
11+
{{ form.csrf_token() }}
12+
{{ form.username.label }}{{ form.username }}<br>
13+
{{ form.password.label }}{{ form.password }}<br>
14+
{{ form.password2.label }}{{ form.password2 }}<br>
15+
{{ form.submit }}
16+
</form>
17+
18+
</body>
19+
</html>

Flask-10-wtf/view.py

Lines changed: 0 additions & 22 deletions
This file was deleted.

0 commit comments

Comments
 (0)