Django 如何在注册重复用户时显示错误消息?
我知道这很简单,我也尝试过广泛搜索,但没有任何效果:( 当我在forms.py中尝试此操作时:Django 如何在注册重复用户时显示错误消息?,django,validation,Django,Validation,我知道这很简单,我也尝试过广泛搜索,但没有任何效果:( 当我在forms.py中尝试此操作时: class RegistrationForm(forms.Form): email = forms.EmailField(unique = True, error_messages = {'unique':'Duplicate Error!') password = forms.CharField( widget = forms.PasswordInput(render_value =
class RegistrationForm(forms.Form):
email = forms.EmailField(unique = True, error_messages = {'unique':'Duplicate Error!')
password = forms.CharField( widget = forms.PasswordInput(render_value = False), label = "Password")
我得到一个错误,说:
init()得到一个意外的关键字参数:unique
我看到人们能很容易地让它工作,但很明显我错过了一些东西。
如何使用上面给出的表单和视图代码为用户注册添加自定义错误消息?我希望在用户名字段旁边显示错误消息,就像字段留空时显示的错误消息一样
谢谢。使用表单上的clean方法来验证:
from django.contrib.auth.models import User
class RegistrationForm(forms.Form):
email = forms.EmailField()
password = forms.CharField( widget = forms.PasswordInput(render_value = False),label = "Password")
def clean(self):
if User.objects.filter(email=self.cleaned_data['email']).exists():
msg = _(u'Duplicate Error!')
self._errors['email'] = ErrorList([msg])
del self.cleaned_data['email']
return self.cleaned_data
这将在调试页面上显示错误。我希望错误显示在用户名字段下,而不是在调试页面上。您是否尝试过此代码?删除unique=True,错误消息={'unique':'Duplicate error!'}首先从代码开始…编辑:也需要从django.contrib.auth.models导入用户导入用户您使用哪个模型来保存此数据?执行表单时会调用clean方法。我还尝试了上面给出的clean函数。仍然只抛出IntegrityError