Подтвердить что ты не робот

Django - аутентификация, регистрация с подтверждением электронной почты

Я ищу API для аутентификации

https://docs.djangoproject.com/en/1.3/topics/auth/

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

Думаю, я мог бы сделать это:

1) Отобразить форму 2) Пользователь вводит информацию и отправляет 3) Сохранить пользователя как неактивного, с кодом подтверждения 4) Отправьте ссылку с кодом подтверждения 5) Пользователь нажимает ссылку подтверждения и становится активным.

Не похоже, что это сложно, но я чувствую, что это может быть сделано уже, а также есть немало краевых случаев, которые нужно было бы рассмотреть.

4b9b3361

Ответ 1

Он не встроен в Django. Существует многоразовое приложение под названием django-allauth, которое будет соответствовать вашим потребностям.

Рекомендуется использовать приложение под названием django-registration, но это теперь не поддерживается и устарело.

Примечание редактора: django-регистрация не оставлена ​​без изменений по состоянию на декабрь 2016 года.

Ответ 2

В то время как django-registration раньше была система регистрации du jour, она была оставленный сопровождающим и не работает на Django 1.6 без исправления.

Попробуйте, может быть, django-allauth - я бы использовал его, если бы знал об этом, когда смотрел. (Как оказалось, я сначала нашел этот вопрос и использовал django-registration, тратя много времени.)

EDIT 10/2016: Похоже, что регистрация django поддерживается снова. Теперь он на GitHub: https://github.com/ubernostrum/django-registration

Ответ 3

Вы можете сделать это:

  • Определите функцию для активации пользователя (например, def активировать (запрос))
    • Настройте в url.py маршрут к этой функции (i.e/activate/)
  • Создать форму для регистрации пользователя
  • Создать функцию post для создания пользователя
    • Когда вы создаете поле пользовательского набора 'is_active' равным 0.
    • В той же функции отправьте электронное письмо со ссылкой внутри, эта ссылка должна иметь цель как настроенный маршрут