Django registerForm.is_valid() не позволяет остальной части моего кода работать
Мой пользователь использует номер мобильного телефона в качестве имени пользователя Но когда пользователь хочет получить проверочный код для своего номера снова, он сталкивается с ошибкой Я даже не знаю, откуда взялась эта ошибка, потому что я не писал эту ошибку
просмотров
def account_register(request):
if request.user.is_authenticated:
return redirect("store:home")
registerForm = RegistrationForm(request.POST)
if request.method == "POST":
print(registerForm)
if registerForm.is_valid():
registerForm.save(commit=False)
username = registerForm.cleaned_data["user_name"]
phone_number = registerForm.cleaned_data["phone_number"]
password = registerForm.cleaned_data["password"]
user = User.object.filter(phone_number=phone_number)
if user.count() == 0:
new_user = User(phone_number=phone_number)
new_user.username = username
new_user.phone_number = phone_number
new_user.set_password(password)
new_user.is_active = False
new_user.save()
otp_user = f"{new_user.otp}"
print(otp_user)
send_sms(otp_user, new_user.phone_number)
elif not user.phone_number_verified:
otp_user = f"{user.otp}"
print(otp_user)
send_sms(otp_user, user.phone_number)
return render(request, "account/verificationpage.html", {"form": registerForm})
else:
registerForm = RegistrationForm()
return render(request, "account/authentication.html", {"form": registerForm})
формы
class RegistrationForm(forms.ModelForm):
user_name = forms.CharField(
min_length=4, max_length=50, help_text='Required'
)
phone_number = forms.CharField(max_length=11,
help_text='Required',
validators=[RegexValidator(regex=r'09(\d{9})$')],
)
password = forms.CharField(widget=forms.PasswordInput)
def clean_phone_number(self):
phone_number = self.cleaned_data['phone_number']
if User.objects.filter(phone_number=phone_number, is_active=False).exists():
raise forms.ValidationError(
'Please use another phone number, that is already taken')
return phone_number
error
Пользователь с таким номером телефона уже существует