Супер простая система регистрации пользователей на основе электронной почты Django? - PullRequest
1 голос
/ 20 сентября 2011

Я нашел приложение регистрации django, но оно кажется сложным для того, что я пытаюсь сделать.Я хочу, чтобы пользователи просто вводили свою электронную почту (имя пользователя) + пароль и автоматически регистрировались.Нет активаций или подтверждений.Стиль Хакер Новости.Кто-нибудь знает, каким будет самый простой способ реализовать это?Есть ли что-то ранее существующее, о чем вы знаете (я ничего не смог найти), должен ли я каким-то образом изменить django-регистрацию или создать это самостоятельно?

Ответы [ 2 ]

3 голосов
/ 20 сентября 2011

Вход в систему / Аутентификация

Чтобы Django проходил аутентификацию, используя электронную почту / пароль вместо имени пользователя / пароля, вам нужно будет добавить в настройки.py:

AUTHENTICATION_BACKENDS = ('myproject.myauthenticationbackend')

Этот сервер аутентификации должен иметь возможность аутентифицировать пользователя на основе электронной почты / пароля.Хороший бэкэнд для аутентификации электронной почты можно найти здесь: http://djangosnippets.org/snippets/74/

Регистрация пользователя

Обычно ваша форма регистрации запрашивает у пользователя адрес электронной почты и пароль.Однако модель Django с аутентификацией User требует, чтобы у каждого пользователя было имя пользователя.Один из способов справиться с добавлением имени пользователя - при сохранении регистрационной модели, сгенерировать случайное имя пользователя (так как мы все равно его не используем).

Вам нужно будет вручную проверить, что электронная почта, введенная пользователемуже зарегистрирован в вашей системе.

Некоторое время назад я также написал сообщение в блоге, в котором есть более полные заметки об аутентификации электронной почты.Он также включает в себя образец формы регистрации по электронной почте / паролю:

http://www.xairon.net/2011/05/django-email-only-authentication/

2 голосов
/ 20 сентября 2011

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

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

Посмотрите на следующий фрагмент кода, чтобы разрешить аутентификацию с адресом электронной почты.http://djangosnippets.org/snippets/74/

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