2016-06-30 20 views
0

私はパスワードを変更できるビューを持っています。私はデフォルトのパスワード認証システムを使いたくありません。ユーザーがパスワードを変更すると、パスワードは正常に変更されますが、パスワード変更後にセッションが無効になっているのを確認しました。パスワードを変更した後に再度ログインする必要はありません。パスワード変更後にセッションを保持する方法は? パスワードを変更した後にユーザーがログアウトしてしまいました

私のviews.pyファイル

from django.contrib.auth import update_session_auth_hash 
def password_change(request): 
    if request.method == 'POST': 
     new_password = request.POST.get('pwd') 
     user=request.user 
     try: 
      u = User.objects.get(username=user) 
      u.set_password(new_password) 
      u.save() 
      update_session_auth_hash(request,user) 
      messages.add_message(request, messages.INFO, 'Password successfully changed') 
      return redirect("password_change") 
     except User.DoesNotExist: 
      messages.add_message(request, messages.INFO, 'User Does not exist') 
    else: 
     return render(request,"password_change.html",{}) 

答えて

1

あなたはuがupdate_session_auth_hashで変数を使用する必要があります。リクエストから "user"を使用していますが、依然として古いパスワードが使用されています。

+0

ああ、そんなに馬鹿げたミスでした – Bhanukiran

関連する問題