def changePassword(request): uname = request.user.username pw = request.POST['old_password'] user = authenticate(username=uname, password=pw) if user: form = PasswordChangeForm(user, data=request.POST) form.full_clean() form.save() update_session_auth_hash(request, user) return JsonResponse({'success': True}) else: return JsonResponse({})
def change_password(request): """change password and redirect to profile if successful""" if request.method == 'POST': form = PasswordChangeForm(request.user, request.POST) if form.is_valid(): form.full_clean() user = form.save() update_session_auth_hash(request, user) messages.success(request, 'Password successfully updated') return redirect('/profile') else: messages.error(request, 'Please correct the error') else: form = PasswordChangeForm(request.user) return render(request, 'registration/change_password.html', {'form': form})