我正在开发一个使用Django1.4和django-registration的网站
我希望允许用户使用任意Unicode字符创建他们的用户名。目前,如果有人尝试使用非拉丁字符进行注册,他将看到一条错误消息。负责拒绝这类非ASCII型用户名的代码在UserCreationForm和UserChangeForm中,请参阅here
username = forms.RegexField(
label=_("Username"), max_length=30, regex=r"^[\w.@+-]+$",
help_text = _("Required. 30 characters or fewer. Letters, digits and "
"@/./+/-/_ only."),
error_messages = {
'invalid': _("This value may contain only letters, numbers and "
"@/./+/-/_ characters.")})现在,我想改变它。我已经看到一些建议,我应该创建自己的UserCreationForm,并且创建一个经过一些行为更改的派生类似乎很容易。
我不明白的一点是:如何让django-registration使用我定制的UserCreationForm和UserChangeForm?显然,如果可能的话,我希望避免修改django-registration的源代码。
发布于 2012-09-11 02:44:33
请参阅http://docs.b-list.org/django-registration/0.8/views.html
在创建您自己的注册表单之后,您可以将此表单传递给django- register的注册视图。查找registration.backends.default.urls模块
url(r'^register/$', register,
{'backend': 'registration.backends.default.DefaultBackend',
'form_class': MyRegistrationForm},https://stackoverflow.com/questions/12357168
复制相似问题