百:パスワードの変更ロジックCMSシステム

 

エラーメッセージを取得するために、基本クラスの形式を定義します

インポートをForm1 WTForms 


クラスベースフォーム(Form1の):
DEF GET_ERROR(自己):
#= {A 'AAA':[XXX]、 'BBB':[WWW]} a.popitem()[1] [0] = XXX
メッセージ= self.errors.popitem()[1] [ 0]# 最初のエラーメッセージエラー取る
返信メッセージを

フォーム検証、継承されたカスタムベースフォーム

IntegerFieldと、からインポートStringField WTForms 
wtforms.validatorsインポートでのメールから、InputRequired、長さ、EqualTo

..formsインポートベースフォームから


クラスResetpwdForm(ベースフォーム):
OLDPWD = StringField(バリ= [InputRequired(メッセージ= 'パスワードを入力します。')、長さ( 6、20、メッセージ= 'パスワード6〜20')])
NEWPWD = StringField(バリ= [InputRequired(メッセージ= 'パスワードを入力')、長さ(6、20 、メッセージ= ' パスワード6〜20') ])
newpwd2 = StringField(バリ= [EqualTo( 'NEWPWD'、メッセージ= '2つのパスワードが一致しない')])


(:ベースフォーム)クラスLoginForm
メールで= StringField(バリ= [InputRequired(メッセージ=「「メールボックスを入力してください)、電子メール(メッセージ= 'メール形式エラー')])
パスワード= StringField(バリ= [InputRequired(メッセージ= 'パスワードを入力してください')、長さ(6、20 、メッセージ= ' パスワード6〜20')])
)(= IntegerFieldと覚えています

論理ビュー

クラスResetPwd(views.MethodView):
デコレータ= [login_required]#校验登录状态

デフのget(自己、メッセージ=なし):
リターンrender_template( 'CMS / cms_resetpwd.html'、メッセージ=メッセージ)

デフ(自己)ポスト:
フォーム= ResetpwdForm(のRequest.Form)
form.validate IF():
NEWPWD = form.newpwd.data
OLDPWD = form.oldpwd.data
ユーザー= g.cms_user
user.check_password IF(OLDPWD):
user.password = NEWPWD
db.session。 ()コミット
リターンjsonify({:200、 'メッセージ' '修改成功' 'コード'})
他:
戻りjsonify({ 'コード' 400、 'メッセージ': '古いパスワードエラー「})
他:
戻りjsonify({ 'コード' 400、 'メッセージ':form.get_error()})


bp.add_url_rule( '/ resetpwd /'、view_func = ResetPwd.as_view( 'resetpwd'))

リクエスト

 

おすすめ

転載: www.cnblogs.com/zhongyehai/p/11914808.html