Flask 表单form.validate_on_submit()什么情况下会是false??
1、在form中受到validators控制,不满足条件就会导致false
2、在form中使用了raise抛出异常后也会false。
3、表单的地方没写{{ form.csrf_token }},在HTML 里加上就好
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的