Я создал пользовательскую модель, используя 'OneToOneField'. Я создал систему регистрации и входа, но работает только регистрация, и я могу зарегистрировать нового пользователя, но, когда я пытаюсь войти в систему с использованием этого созданного пользователя, Django не позволяет мне войти в систему, показывая мое пользовательское сообщение «Имя пользователя или пароль неверный ». Я дважды проверил имя пользователя и пароль, и они верны, но Django не позволяет мне войти.
Вот мои коды.
models.py
class Vendor(models.Model):
user = models.OneToOneField(User, on_delete = models.CASCADE)
phone_number = models.CharField(max_length = 12, blank = True)
forms.py
class SignInForm(forms.Form):
username = forms.CharField(max_length = 20, widget = forms.TextInput(attrs = {'class': 'form-control', 'placeholder': 'Username'} ))
password = forms.CharField(max_length = 15, widget = forms.PasswordInput(attrs = {'class': 'form-control', 'placeholder': 'Password'} ))
views.py
form = self.form(request.POST)
if form.is_valid():
username = form.cleaned_data.get('username')
password = form.cleaned_data.get('password')
user = authenticate(username = username, password = password)
if user:
if user.is_active:
login(request, user)
return redirect('dashboard')
else:
messages.error(request, 'Your email address is not verified. Please verify it')
else:
messages.error(request, 'Username or password is wrong')