在Django 1.10和Django注册2.2中减少用户名长度

问题描述:

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

+0

你是什么意思?减少用户名长度?更改注册时所需的用户名长度? –

+0

将允许的最大用户名长度更改为20个字符 – seeberg

你需要什么来是延长Django的注册的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传递到注册视图来覆盖。