В моей модели телефона есть три поля, адрес электронной почты и пароль.
class AppUser(models.Model):
phone_number = models.CharField(validators=[phone_regex],
max_length=17, unique=True)
email = models.EmailField(unique=False, null=True, blank=True)
password = models.CharField(max_length=300)`
модель пользователя В формах я использую два поля phone_number и пароль формы класс Userloginform (forms.ModelForm):
class Meta:
model = AppUser
fields = ['phone_number', 'password']
Я пишу функциональность для пользователя, который может войти, используя номер телефона и адрес электронной почты. Функции входа в систему
def login_app_user(request):
if request.method == 'POST':
login_form = Userloginform(request.POST)
username = request.POST['phone_number']
password = request.POST['password']
try:
user = AppUser.objects.get(Q(email__iexact=username) | (Q(phone_number__iexact=username)), is_active=True)
if user and check_password(password, user.password):
request.session['username'] = user.phone_number
# return HttpResponse('success')
return HttpResponseRedirect('/homepage', {'username': user.phone_number})
else:
messages.warning(request, 'Invalid Credientials')
except ObjectDoesNotExist:
messages.warning(request, 'user doesnot exists')
else:
login_form = Userloginform()
return render(request, 'navbar.html', {'form2':login_form})
Работает нормально. В Front end я использую Bootstrap Модальное всплывающее окно. это также работает нормально. Проблема в моем сообщении об ошибке. Если неправильный пароль, неправильный пароль для поля номера телефона , появится всплывающее сообщение об ошибке в самой форме, это работает. Когда я даю не существует, здесь я сталкиваюсь с проблемой. когда я даю идентификатор электронной почты, поле электронной почты не существует оно всплывает, но когда я использую номер телефона, оно не приходит. Я не знаю, где я допустил ошибку