【问题标题】:Decrease username length in Django 1.10 and django-registration 2.2减少 Django 1.10 和 django-registration 2.2 中的用户名长度
【发布时间】:2017-03-09 13:11:13
【问题描述】:

如何减少用户名长度?
我正在使用 Django 1.10 和 django-registration 2.2。
我正在使用"HMAC activation workflow" 和基本表单类"registration.forms.RegistrationFormUniqueEmail"
我是 Django 新手,有点不知所措。
我必须编写一个全新的自定义用户模型还是有一个简单的解决方案?

【问题讨论】:

  • decrease the username length 到底是什么意思?更改注册时所需的用户名长度?
  • 将允许的最大用户名长度更改为 20 个字符

标签: django django-registration


【解决方案1】:

您需要做的是扩展 django-registration 的 form class 并添加自定义字段 validation,类似这样:

from django import forms

from registration.forms import RegistrationFormUniqueEmail


class RegistrationForm(RegistrationFormUniqueEmail):
    def clean_username():
        data = self.cleaned_data['username']
        if len(date) < 20:
            raise forms.ValidationError("Username has to be longer then 20 characters.")

        return data

然后您必须覆盖视图并使用上面的表单:

默认情况下,此工作流程使用registration.forms.RegistrationForm 作为 用于用户注册的表单类;这可以被覆盖 将关键字参数 form_class 传递给注册视图。

【讨论】:

    猜你喜欢
    • 2011-10-26
    • 1970-01-01
    • 1970-01-01
    • 2011-09-15
    • 2011-11-03
    • 1970-01-01
    • 2011-04-15
    • 2023-03-29
    • 1970-01-01
    相关资源
    最近更新 更多