1. 程式人生 > >flask學習:使用flask-wtf新增驗證邏輯

flask學習:使用flask-wtf新增驗證邏輯

接上一篇,新增驗證邏輯有以下幾步:

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