【问题标题】:How to make django-registration use my customized UserCreationForm and UserChangeForm?如何让 django-registration 使用我自定义的 UserCreationForm 和 UserChangeForm?
【发布时间】:2012-09-03 15:26:05
【问题描述】:

我正在使用 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 的来源。

【问题讨论】:

    标签: python django registration django-registration


    【解决方案1】:

    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},
    

    【讨论】:

      猜你喜欢
      • 2018-12-28
      • 1970-01-01
      • 2011-08-10
      • 2018-06-11
      • 2021-05-07
      • 2013-05-05
      • 2011-06-23
      • 2011-02-05
      相关资源
      最近更新 更多