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.
- в той же функции отправьте электронное письмо со ссылкой внутри, эта ссылка должна иметь цель как настроенный маршрут