Как создать форму регистрации в Django, которая распознает, когда пароль и пароль подтверждения не совпадают
Я пытаюсь создать регистрационную форму для пользователя на веб-странице, используя python и фреймворк Django. Форма работает нормально и регистрирует пользователя, если все поля действительны, и Django имеет встроенные сообщения об ошибках, если поля остаются пустыми и т.д., которые работают нормально. Однако я пытаюсь добавить свою собственную ошибку, если поля 'password' и 'confirm password' не совпадают. Если они не совпадают, я получаю ошибку: 'Представление main.views.register не вернуло объект HttpResponse. Вместо этого оно вернуло None'. Мой вопрос заключается в том, как я могу успешно вернуть страницу регистрации с ошибкой, отображаемой пользователю?
Вот мой код views.py:
def register(request):
if request.method == "GET":
register_form = RegisterForm()
return render(request, "main/register.html", {
'form': register_form
})
else:
register_form = RegisterForm(request.POST)
if register_form.is_valid():
register_form.save()
return render(request, "main/login.html")
Вот мой код form.py:
class RegisterForm(forms.ModelForm):
password = forms.CharField(widget=forms.PasswordInput())
confirm_password = forms.CharField(widget=forms.PasswordInput())
class Meta:
model = User
fields = ['first_name', 'last_name', 'username', 'email', 'password']
def clean(self):
cleaned_data = super(RegisterForm, self).clean()
password = cleaned_data.get("password")
confirm_password = cleaned_data.get("confirm_password")
if password != confirm_password:
self.add_error("confirm_password", "Password does not match")
Для создания формы регистрации в Django, которая будет распознавать, когда пароль и подтверждающий пароль не совпадают:
Пожалуйста, взгляните на этот ответ от меня
Простите, эта заметка предназначена для комментариев, но моя репутация не позволяет мне разместить ее в разделе комментариев.