Как разрешить пользователю входить в систему с новым паролем после его сброса

Я пытаюсь создать систему сброса пароля в django. Проблема в том, что я пытаюсь войти в систему после сброса пароля, но система выдает ошибку Invalid credentials. Я использовал пользовательскую модель пользователя, которая принимает имя пользователя в качестве уникального идентификатора. Вот код входа в систему в views.py

def ilogin(request):
    if request.method == 'POST':
        username = request.POST['username']
        password = request.POST['password']

        user = authenticate(request, username=username, password=password)

        if user is not None:
            login(request, user)
            messages.success(request, f'Welcome {username}!')
            return redirect('index')
        else:
            if myUser.objects.filter(username=username).exists():
                messages.error(request, 'Invalid credentials provided.')
            else:
                print('eeeeeee')
                messages.error(request, f'Account with username "{username}" does not exist. Please create an account.')
            return redirect('login')  # Redirect back to login page
    else:
        return render(request, 'user/login.html')

здесь код для сброса пароля:

def password_reset_confirm(request, token):
    try:
        reset_token = PasswordResetToken.objects.get(token=token)

        if not reset_token.is_valid:
            messages.error(request, 'This reset link is expired or invalid.')
            return redirect('login')
        
        if request.method == 'POST':
            new_password = request.POST.get('new_password')
            confirm_password = request.POST.get('cofirm_password')

            if new_password == confirm_password:
                user = reset_token.user
                print(user)
                user.set_password(new_password)
                user.save()

                reset_token.is_used = True
                reset_token.save()

                messages.success(request, 'Your password has been reset successfully.')
                return redirect('login')
            else:
                messages.error(request, 'Password do not match')

        return render(request, 'emails/password_reset_confirm.html')    

    except PasswordResetToken.DoesNotExist:
        messages.error(request, 'Invalid password reset link')
        return redirect('login')

Я пытаюсь создать систему сброса пароля пользователя по электронной почте в django. Я получаю письмо и все такое. Когда я пытаюсь войти в систему с новым паролем, система не работает.

Вернуться на верх