Я использую функцию аутентификации Django, чтобы позволить пользователям зарегистрироваться (создать учетную запись) и войти (войти после создания учетной записи). Аутентификация отлично работает для регистрации, но когда я пытаюсь войти в систему после выхода из системы, она не работает.
Метод регистрации:
if request.method == 'POST':
form = SignUpForm(request.POST)
if form.is_valid():
form.save()
username = form.cleaned_data['username']
raw_password = form.cleaned_data['password1']
user = authenticate(username=username, password=raw_password) #returns user object
login(request, user) #works
Метод входа:
if request.method == 'POST':
form = AuthenticationForm(request=request, data=request.POST)
if form.is_valid():
username = form.cleaned_data['username']
password = form.cleaned_data['password']
user = authenticate(user=username, password=password) #returns None
login(request, user) #doesn't work
Я просмотрел несколько других тем, которые сообщали о подобной проблеме, и добавил следующий код в мой файл settings.py. Однако аутентификация по-прежнему не возвращает ничего, когда я пытаюсь войти в систему.
settings.py code
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend',
)