python - 如何使 django-registration 使用我自定义的 UserCreationForm 和 UserChangeForm?

标签 python django registration django-registration

我正在使用 Django 1.4 和 django-registration 开发一个网站

我希望允许用户使用任意 Unicode 字符创建用户名。目前,如果有人尝试使用非拉丁字符注册,他将看到一条错误消息。负责拒绝此类非 ASCII 用户名的代码位于 UserCreationFormUserChangeForm 中,请参阅 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使用我自定义的UserCreationFormUserChangeForm?显然,如果可能的话,我想避免修改 django-registration 的源代码。

最佳答案

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

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

url(r'^register/$', register,
     {'backend': 'registration.backends.default.DefaultBackend', 
     'form_class': MyRegistrationForm},

关于python - 如何使 django-registration 使用我自定义的 UserCreationForm 和 UserChangeForm?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12357168/

相关文章:

Django on EC2 security group fo postgresql on RDS

c# - C#如何在不注册的情况下使用旧版DLL(regsvr32)

ios - iOS禁用触摸事件注册

Python 正则表达式 : split vsv column

python - 如何在 Python 中使用 SQLite 3 的 Vacuum 命令

django - Django 管理表单中的小数字段

python - 外部库中的 PyCharm 断点

ruby-on-rails - 如何允许其他用户使用已使用但未确认的电子邮件进行注册?

python - ConfigParser 与导入配置

python - 检查所有列表元素是否相同的代码返回 IndexError?