我正在使用Django注册,并希望在注册时强制执行唯一的电子邮件,所以我有:
url(r'^register/$', 'registration.views.register',
{'form_class':RegistrationFormUniqueEmail,
'backend':'registration.backends.default.DefaultBackend' }, name='registration_register'),
但是,这不起作用。我已经摆弄,例如在/registration/forms.py中将验证码从RegistrationFormUniqueEmail
放入
class RegistrationForm(forms.Form):
确实运行唯一性约束。我还将断点import ipdb; ipdb.set_trace()
放入RegistrationFormUniqueEmail
的单独方法代码中,以确保它实际被调用。取决于我放置断点的位置,代码在控制台中破坏,所以它似乎正在运行,但没有进行验证。
我想要一个修复程序,它不涉及我在源代码中重新调整注册代码,即将唯一的电子邮件验证放入主表单。
可能会发生什么?
答案 0 :(得分:0)
我最终分叉django-registration
并将唯一的电子邮件验证工具直接添加到软件包forms.py
中的默认注册表单中。我是在包级别做的,因为我无法在其他地方成功地将默认表单子类化,因此它必须在包中,并且我使用pip依赖项在Heroku上进行部署,因此必须拉出自定义包。