Django authenticate возвращает none, но прекрасно работает в shell

def login_page(request):
    if request.method=='POST':
        user_name = request.POST.get('username')
        user_password = request.POST.get('password')
        user =authenticate(request,username=user_name,password=user_password)
        print(user)
        if user is not None:
            login(request,user)
            return redirect('/')
        else:
            messages.info(request,'Invalid user name or password')
            return redirect('/login_page')
    else:
        return render(request,'account/login_page.html')

Вот код, который я использую Функция authenticate не возвращает значение даже при правильном вводе. Я попробовал authenticate в shell для того же ввода и он возвращает значение, как ожидалось, поэтому я не понимаю, почему он не работает для значений из HTML формы.

вот как я сохранил пользователя

user = User.objects.create_user(email=email,first_name = firstname,last_name=lastname,
                        username=username,password=password1)
user.save()

Команда оболочки, которую я использовал (я сохранил этого пользователя и использую те же учетные данные для аутентификации)

user_name = 'issue'
user_password = '1234a'
user =authenticate(request,username=user_name,password=user_password)

возвращает True on

user is not None
Вернуться на верх