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)
и когда я ввожу фальшивые данные, вот как выглядит терминал
Я пытался изменить представления, но до сих пор не достиг никаких результатов.