Проблема с формой входа в Django

Views.py

def Tourist_login(request):
    if request.method == 'POST':
        form = Tourist_login_form(request.POST)
        if form.is_valid():
            username = form.cleaned_data['username']
            password = form.cleaned_data['password']


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

            if user is not None:
                login(request,user)
                messages.success(request,'logged in')
                return redirect('home')
            else:
                messages.error(request,"Invalid login credentials!")
                return redirect('touristlogin')
        else:
            return redirect('touirstlogin')
    else:
        form = Tourist_login_form()
        return render(request,'accounts/tourist_login.html',{'form':form})

В приведенном выше коде функция authenticate возвращает значение none. Но если я передаю ввод в форму через учетные данные суперпользователя, то она работает нормально. Я не могу понять, почему она не принимает имя пользователя и пароль, переданные пользователем, а принимает только имя пользователя и пароль суперпользователя.

Попробуйте использовать этот способ:

from django.contrib.auth.models import auth
user = auth.authenticate(username=username, password=password)
if user is not None:
   auth.login(request, user)
   messages.success(request,'logged in')
   return redirect('home')
Вернуться на верх