Django login Аутентификация возвращается None

Я пытаюсь пройти аутентификацию в django, но когда я ввожу реальные учетные данные, он присваивает пользователю значение None, но когда я ввожу несуществующие учетные данные, он не присваивает его как None.

views.py

def login_view(request):
    if request.method == 'POST':
        form = LoginForm(data=request.POST)
        if form.is_valid():
            usuario = form.cleaned_data.get('usuario')
            contraseña = form.cleaned_data.get('contraseña')
            print(usuario, contraseña)
            user = authenticate(request, username=usuario, password=contraseña)
            print(user)
            if user is not None:
                login(request, user)
                return JsonResponse({'success': True, 'message': 'Usuario o contraseña Correcta.'})
            else:
                return JsonResponse({'success': False, 'message': 'Usuario o contraseña falsa.'})
    else:
        form = LoginForm()
    return render(request, 'login.html', {'form': form})

forms.py

class LoginForm(forms.Form):
    usuario = forms.CharField()
    contraseña = forms.CharField(widget=forms.PasswordInput)

    def clean(self):
        cleaned_data = super().clean()
        usuario = cleaned_data.get('usuario')
        contraseña = cleaned_data.get('contraseña')
        if not Usuario.objects.filter(usuario=usuario, contraseña=contraseña).exists():
            self.add_error('usuario', 'Usuario o contraseña incorrectos.')
        return cleaned_data

Когда я ввожу реальные данные, вот как выглядит терминал

LoginCredecial 1 1 - это отпечаток (usuario, contraseña)

и когда я ввожу фальшивые данные, вот как выглядит терминал

FakeCredentials

Я пытался изменить представления, но до сих пор не достиг никаких результатов.

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