Django. Пустое значение у cleaned_data
Я реализиую авторизацию на сайте. Сделал вьюуху, а в ней вытащил данные из полей формы с помощью cleaned_data. Вывел на печать, там есть два ключа - username и password. У ключа password значение - пустая строка. Из-за этого не получается авторизоваться. Что я сделал не так? Спасибо
views.py
def user_login(request):
if request.method == 'POST':
form = LoginForm(request.POST)
if form.is_valid():
cd = form.cleaned_data
print(cd)
user = authenticate(username=cd['username'], password=cd['password'])
print(user)
if user is not None:
if user.is_active:
login(request, user)
return JsonResponse({'success': request.user.username})
else:
return JsonResponse({'errors': 'Вы уже авторизованы'})
else:
return JsonResponse({'errors': 'Неверный логин или пароль'})
else:
print(form.errors)
print('ХУЙ')
return JsonResponse({'errors': 'Неверные данные'})
else:
form = LoginForm()
return render(request, 'reg/login.html', {'form': form})
forms.py
class LoginForm(forms.Form):
username = forms.CharField(label='Логин')
password = forms.CharField(widget=forms.PasswordInput, label='Пароль')
def __init__(self, *args, **kwargs):
super(LoginForm, self).__init__(*args, **kwargs)
for key in self.fields:
self.fields[key].help_text = None
self.fields[key].required = False
self.fields[key].widget.attrs['class'] = 'form-control'
self.fields['username'].widget.attrs['id'] = 'id_username'
self.fields['password'].widget.attrs['id'] = 'id_password'
reg/login.html
<!DOCTYPE html>
<html lang="en">
<head>
{% load static %}
<meta charset="UTF-8">
<title>Авторизация</title>
<!--CSS-->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="{% static 'styles/login/login.css' %}">
<!--JS-->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<script type="text/javascript" src="{% static 'js/csrf.js' %}"></script>
<script src="{% static 'js/login.js' %}"></script>
</head>
<body>
<!--Header-->
<div class="header">
<a href="main"><img src="{% static 'images/logo_2.png' %}"></a>
</div>
<!--Login-->
<div class="container">
<p id="main_title">Авторизация</p>
<form method="POST" autocomplete="off" id="myForm">
<a href="#" class="password-control"></a>
{% csrf_token %}
{{ form.as_p }}
<input type=submit id="submit" value=Войти disabled>
</form>
</div>
</body>
</html>