Делаю перевод одной статьи с djangoproject.com, поскольку мне нужно врубиться в тему - а я не врубаюсь почему-то. Не могу себя заставить думать, и в таком случае перевод - это прекрасный способ стимулирования мысли. Заодно и польза может кое-кому будет... Статья длинная, поэтому перевод, вероятно, получится в несколько приемов. Кроме того, переведу не всю статью - а только наиболее ее важные (с моей точки зрения части), а в остальном буду отсылать к исходному тексту...
Оригинал статьи:
User authentication in Django Идентификация пользователя в Джанго
В Джанго существует система идентификации пользователей, которая обрабатывает данные учетных записей, групп пользователей и прав доступа, пользовательских сессий. Этот документ объясняет, как эта система работает
Обзор
Система идентификации включает:
>>> Пользователей
>>> Права доступа: флажки (да/нет), которые определяют, какие задачи может решать данный пользователь
>>> Группы: основной способ, посредством которого права доступа и иные характеристики распространяются на группы из двух или более пользователей
>>> Сообщения: простой способ организовать поток сообщений для пользователей
Нежелательно в Джанго 1.2: компонент "Сообщения" будет удален в версии Джанго 1.4
Установка
Система идентификации поддерживается в Джанго в рамках пакета jango.contrib.auth. Для того, чтобы установить его, выполните следующее:
>>> в разделе INSTALLED_APPS укажите 'django.contrib.auth' and 'django.contrib.contenttypes'. (модель прав доступа в пакете django.contrib.auth должна следовать после django.contrib.contenttypes.)
>>> Запустите команду manage.py syncdb
Обратите внимание, что по умолчанию файл settings.py, созданный с помощью команды django-admin.py startproject, уже включает в себя 'django.contrib.auth' and 'django.contrib.contenttypes'. Если ваш INSTALLED_APPS уже сдержит соответствующие записи, можете сразу запускать команду manage.py syncdb. Вы также можете повторно выполнить эту команду столько раз, сколько вам потребуется - каждый раз она будет производить установку только тех пакетов, которые вам нужны.
Команда syncdb создает необходимые таблицы в базе данных, соответствующие объекты для доступа к данным таблицам и позволяет быстро создать суперпользователя в самом начале процесса работы с базой данных.
На этом установка завершается.
Далее в этом месте следует описание классов models.User и models.UserManager, которые я опускаю, поскольку на мой взгляд там все понятно и без перевода...