Кто-нибудь знает хороший взлом, чтобы django-регистрация использовала электронную почту в качестве имени пользователя? - PullRequest
3 голосов
/ 11 сентября 2010

Я планирую сделать email-регистрацию-активацию на моем сайте, которая будет запущена очень скоро. Я только начал изучать django-регистрацию, и я открыт для другой системы активации регистрации электронной почты, доступной на django.

Мое единственное требование - чтобы я не использовал имена пользователей для своего сайта. Скорее, пользователь входит в систему со своими адресами электронной почты и паролями. Я хочу получить мнение эксперта, как изменить django-регистрацию чисто и безопасно для этой цели.

Если есть более простые решения, которые можно масштабировать, не стесняйтесь размещать здесь.

Ответы [ 2 ]

6 голосов
/ 11 сентября 2010

Мы использовали django-registration с пользовательским бэкэндом, где мы переписали (или определили) метод clean формы регистрации:

def clean(self):
    ...
    # use the email as the username 
    if 'email' in self.cleaned_data:
        self.cleaned_data['username'] = self.cleaned_data['email']

Есть и другие способы:

Обратите внимание, что по умолчанию имена пользователей могут быть длиной 30 символов . Для этого вам тоже понадобится взлом:

0 голосов
/ 29 декабря 2012

С Django 1.5 теперь возможно иметь пользовательский auth.User и сделать адрес электронной почты как имя пользователя .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...