1

我正在使用 Django 1.4 和django-registration

我想允许用户使用任意 Unicode 字符创建他们的用户名。目前,如果有人尝试使用非拉丁字符进行注册,他将看到一条错误消息。负责拒绝此类非 ASCII 用户名的代码位于UserCreationFormand中UserChangeForm,请参见此处

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使用我的自定义UserCreationFormUserChangeForm?显然,如果可能的话,我想避免修改 的来源django-registration

4

1 回答 1

2

http://docs.b-list.org/django-registration/0.8/views.html

创建自己的注册表单后,您可以将此表单传递给 django-registration 的注册视图。寻找registration.backends.default.urls模块

url(r'^register/$', register,
     {'backend': 'registration.backends.default.DefaultBackend', 
     'form_class': MyRegistrationForm},
于 2012-09-10T18:44:32.527 回答