2017-03-09 54 views
0

如何減少用戶名長度?
我使用Django 1.10和Django註冊2.2。
我使用的是"HMAC activation workflow"和基本形式類"registration.forms.RegistrationFormUniqueEmail"
我是Django的新手,有點不知所措。
我必須編寫一個完整的新的自定義用戶模型還是有一個簡單的解決方案?在Django 1.10和Django註冊2.2中減少用戶名長度

+0

你是什麼意思?減少用戶名長度?更改註冊時所需的用戶名長度? –

+0

將允許的最大用戶名長度更改爲20個字符 – seeberg

回答

0

你需要什麼來是延長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傳遞到註冊視圖來覆蓋。