如何在 Django 中创建一个注册表单,该表单将识别密码和确认密码不匹配的情况



我试图在使用python和Django框架的网页上为用户建立一个注册表单。如果所有字段都是有效的,那么表单就可以正常工作并注册用户。如果字段为空,Django已经内置了错误消息。然而,我试图添加我自己的错误,如果"密码"one_answers"确认密码"字段不匹配。如果它们不匹配,我会得到一个错误:' view 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中创建一个注册表单,当密码和确认密码不匹配时,它会识别出来:

请看看我的答案

对不起,这是评论,但我的名声不允许我发表在评论区。

最新更新