Django переопределяет стандартные функции - PullRequest
0 голосов
/ 08 ноября 2010

В django / django / contrib / auth / forms.py как переопределить метод по умолчанию и включить его в модуль пользователей?

Итак, я хочу изменить длину поля имени пользователя на64 символа, но это было бы неправильно делать в каталогах django, потому что при каждой загрузке новой версии этот файл должен изменяться ....

Что именно должно быть изменено для этого

class AuthenticationForm(forms.Form):
 """
 Base class for authenticating users. Extend this to get a form that accepts
 username/password logins.
 """
 username = forms.CharField(label=_("Username"), max_length=30)
 password = forms.CharField(label=_("Password"), widget=forms.PasswordInput)

Ответы [ 2 ]

1 голос
/ 17 марта 2011

@ Дениз Доган: Вы также должны убедить вид входа в систему использовать пользовательскую форму:

login(request, authentication_form=MyAuthenticationForm)
0 голосов
/ 08 ноября 2010

Если я вас правильно понимаю, вы можете изменить его, подклассифицировав AuthenticationForm, например, MyAuthenticationForm:

class MyAuthenticationForm(AuthenticationForm):
    username = forms.CharField(label=_("Username"), max_length=64)

Таким образом, вы можете оставить валидаторы с AuthenticationForm, но все же пусть имя пользователя будет длиной 64 символа.

...