我使用Django-registration与Django 1.8.15注册用户。我urls.py
看起来是这样的:Django注册如何检查用户是否存在
from registration.backends.hmac.views import RegistrationView
url(r'^registration/register/$', RegistrationView.as_view(form_class=MyCustomSubscriberForm), name="registration_register"),
这基本上是一个CBV其中我公司提供的格式和模板。 这里的形式:
class MyCustomSubscriberForm(RegistrationForm):
class Meta:
model = MyCustomSubscriber
fields = ('firstname', 'surname', 'email',)
我的问题是如何在这个CBV处理验证?
此刻,如果例如有人试图用已经使用的电子邮件地址注册Django给出IntegrityError at /registration/register/
...
什么是使用Validators from Django-registrations的最佳方式?例如 - 我如何确保如果具有特定电子邮件的用户已经存在,用户会在模板中收到通知?
如何扩展此CBV或在我的代码中处理这个错误与Django注册已提供的验证器?
你需要处理的编辑模式;) '''QS = User.objects.filter(电子邮件=数据) 如果self.instance.id: QS = qs.exclude(ID = ID)''' – Mounir
你绝对正确,我已经编辑了我的答案。但由于他有注册表格,他可能不会使用它进行编辑。 – ihhcarus
感谢您的建议,这当然是可能的!当然,这是一个有效的答案,但也有可能使用内置的Django注册功能,正是这一点 - 正如我的答案中所述。 – user1544500