Ответ 1
Существует не один пакет django, который будет охватывать все, вместо этого есть множество отличных проектов, которые отвечают каждому из требований, которые вы упомянули:
- общий auth: django-auth - это часть дистрибутива django, но нуждается в защите
- социальная аутентификация: django-social-auth - объединяет социальную аутентификацию с потоком django-auth по умолчанию
- регистрация и пароли: django-registration - добавляет поток регистрации, включая подтверждение и подтверждение по электронной почте и т.д.
- система приглашений: django-invitation - позволяет ограничивать регистрацию приглашениями
- профили: django-profiles - позволяет расширить учетную запись пользователя с помощью профиля
Вы также можете посмотреть django-userena, который является новым решением для управления пользователями для вашего приложения django. Я не смотрел, как это работает или насколько он всеобъемлющий, но выглядит многообещающим.
Наконец, посмотрите на пакеты django для других приложений для проверки подлинности:
http://djangopackages.com/grids/g/authentication/
EDIT:
Этот пост немного устарел
- django-social-auth стал python-social-auth
- django-allauth: существует еще одно хорошее все-в-одном приложение auth, называемое django-allauth, Я не использовал его широко, но я считаю, что он заботится о auth, social-auth, регистрации и профилях в одном приложении.
- Конфигурируемые пользовательские модели. Django 1.5 представил конфигурационные модели пользователей в модуле
auth
, чтобы теперь вы могли редактировать поля, которые вы хотите использовать для своего пользователя (только по электронной почте, без имени пользователя и т.д.). Это также полезно, если вы хотите добавить информацию, подобную профилю, пользователю без необходимости присоединяться к другой таблице (например, с помощью django-profiles или отношенияOneToOne
с настраиваемой моделью профиля)