Flask 表单form.validate_on_submit()什么情况下会是false——解决办法

Flask 表单form.validate_on_submit()什么情况下会是false??

1、在form中受到validators控制,不满足条件就会导致falseFlask 表单form.validate_on_submit()什么情况下会是false——解决办法_第1张图片

2、在form中使用了raise抛出异常后也会false。

Flask 表单form.validate_on_submit()什么情况下会是false——解决办法_第2张图片

3、表单的地方没写{{ form.csrf_token }},在HTML 里加上就好Flask 表单form.validate_on_submit()什么情况下会是false——解决办法_第3张图片

4、定义表单时没写validators=[DataRequired()],如果不写这句,form.validate_on_submit()就认为表单是空的,所以会false。

这里注意如果是from flask_wtf import FlaskForm,validators里一定是DataRequired,如果是from flask_wtf import Form 那就是Required

account = StringField(u'账号', validators=[DataRequired()])
password = PasswordField(u'密码', validators=[DataRequired()])
submit = SubmitField(u'登录')

5、中文编码问题(好像python3不存在这个问题)

上面已经写出来了,StringField(u’账号’, validators=[DataRequired()]),如果label有中文的话,一定要加Unicode,不然也会false的

你可能感兴趣的:(后端,flask,python,后端)