验证用户名和密码,validate_on_validate()返回值因为True,但是下面的代码却是False,求解答:
class LoginForm(Form):
username = StringField('Username')
password = PasswordField('Password')
submit = SubmitField('Login')
def validate_username(self, field):
if field.data != 'you':
raise ValidationError('Invalid username')
def validate_password(self, field):
if field.data != 'flask':
raise ValidationError('Invalid password')
@app.route('/', methods=['POST', 'GET'])
def login_view():
form = LoginForm()
if form.validate_on_submit():
flash('Username and password are correct')
return redirect('/')
return render_template('form.html', form = form)
如上form.validate_on_submit()返回值总是为False
我只能把代码改为:
@app.route('/', methods=['POST', 'GET'])
def login_view():
form = LoginForm()
if request.method == 'POST':
if not form.validate_on_submit():
flash('Username and password are correct')
return redirect('/')
else:
return render_template('form.html', form = form)
这样才会有用,求解答
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
ringa_lee