Django LoginView не может аутентифицировать пользователя
У меня есть LoginView и форма регистрации. форма регистрации работает нормально, пользователи летят в базу данных, но LoginView при попытке входа выдает неправильный логин или пароль, хотя все данные правильные, почему так может быть?
CustomUser из models.py
class CustomUser(AbstractUser):
objects = UserManager()
username = models.CharField(
unique=True,
max_length=150,
error_messages={
'unique': "Пользователь с таким ником уже есть"},)
email = models.EmailField(
'почта',
unique=True,
blank=False)
password = models.CharField(
'пароль',
max_length=128)
first_name = models.CharField(
'имя',
max_length=30,
blank=True)
second_name = models.CharField(
'фамилия',
max_length=30,
blank=True)
birthday = models.DateField(
'день рождения',
blank=True,
null=True)
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['username']
class Meta:
verbose_name = 'user'
verbose_name_plural = 'users'
urls.py
path('login/', LoginView.as_view(
template_name='user/login.html'),
name='login'),
register
def registrations(request):
form = RegistrationForm(request.POST or None)
if request.method == 'POST' and form.is_valid():
CustomUser.objects.create(**form.cleaned_data).save()
messages.success(request, 'Вы успешно зарегестрировались')
context = {
'form': form,
}
return render(request, 'user/reg.html', context)
Необходимо для правильной работы LoginView
Проверили ли вы правильность хэширования пароля после регистрации?
Если вы не используете формы в django.contrib.auth, вам необходимо вручную создать и проверить пароль:
Смотрите