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

Я смотрю на API для аутентификации

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

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

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

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

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

3 ответов


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

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

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


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

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

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


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

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