flask学习:使用flask-wtf添加验证逻辑

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xckkcxxck/article/details/83154364

接上一篇,添加验证逻辑有以下几步:

1.导入所需的方法:

from wtforms.validators import DataRequired, EqualTo

一个是要求不能有缺失值,一个是判断两个东西是否相等。

2.在自定义表单类中进行添加:

class LoginForm(FlaskForm):
    username = StringField(u'用户名:', validators=[DataRequired()])
    password = PasswordField(u'密码:', validators=[DataRequired()])
    password2 = PasswordField(u'确认密码:', validators=[DataRequired(), EqualTo('password', "错了老铁!")])
    submit = SubmitField(u'提交')

3.在login()方法中添加一句话就可以实现验证:

# 3.验证参数
        if login_form.validate_on_submit():
            print(username)
            return "success!"
        else:
            flash("参数有误!")

4.此外,还需要在html表单中加一句:

<form method="post">
    {{ login_form.csrf_token() }}
    {{ login_form.username.label }}{{ login_form.username }}<br>
    {{ login_form.password.label }}{{ login_form.password }}<br>
    {{ login_form.password2.label }}{{ login_form.password2 }}<br>
    {{ login_form.submit}}<br>
</form>

注:这里csrf是跨站请求伪造,具体是什么我也没有研究过,只是说了应该加这么一句话。可以看这篇博客对csrf的介绍:https://blog.csdn.net/sinat_41898105/article/details/80783551

猜你喜欢

转载自blog.csdn.net/xckkcxxck/article/details/83154364