Django 4.0 - невозможно войти в систему с зарегистрированным пользователем
Вот вывод оболочки django shell:
>>> for user in User.objects.all():
... print(user.username, user.password, len(user.password))
...
ll_admin pbkdf2_sha256$320000$zm6RcAswZJR6B7uXaCVNVd$hRs9nZKWBPpfemhC2yL16XE0wLCRa4Z0dlbUATywleA= 88
ams 1243 4
who 1243 4
whos 1243 4
whosa 1243 4
maksd 1243 4
1243 1243 4
abcde 12345 5
ids 1243 4
amsfd 1234567 7
cancal 1111 4
>>>
Вот код просмотра входа в систему:
def user_login(request):
if request.method == 'POST':
username = request.POST['username']
password = request.POST['password']
user = authenticate(request, username=username, password=password)
if user is not None:
login(request, user)
return HttpResponseRedirect(reverse('homepage:index'))
else:
message = "User doesn't exist or password is incorrect." + "( " + username + ", " + password + " )"
else:
message = ''
form = UserForm()
context = {"form": form, "message": message}
return render(request, 'users/login.html', context)
Я вхожу в систему с помощью ams, например, 1243, он показывает: https://imgur.com/a/XmJr1Aj
Пароль устанавливается с помощью функции регистра следующим образом https://imgur.com/a/lFDmlKA . Вот код представления регистра:
def user_register(request):
if request.method != 'POST':
# display a blank form
form = UserForm()
else:
form = UserForm(data = request.POST)
if form.is_valid():
new_user = form.save() # the user is saved to database
login(request, new_user) # login, not user_login in views.py
return HttpResponseRedirect(reverse('homepage:index'))
context = {"form": form}
return render(request, 'users/register.html', context)
Я проверил пароль и имя пользователя, и они совпадают. Так что сейчас я в замешательстве. Спасибо за помощь!