Какая разница между персоналом, администратором, суперпользователем в джанго?
Django имеет суперпользователя, сотрудника, администратора...
суперпользователь и персонал находятся в django.contib.auth.models.UserManager
. Тогда есть команда createsuperuser
django-admin
.
Ну, есть приложения для администратора... Какая разница?
Ответы
Ответ 1
Я беру это из документации Django:
Одной из самых мощных частей Django является автоматический администратор интерфейс. Самое лучшее, что вы можете легко настроить его.
Если вы вошли в систему как суперпользователь, у вас есть доступ к созданию, редактированию и удалить любой объект (модели).
Вы можете создать сотрудника с использованием флага штата. Флаг "Персонал" разрешено ли пользователю входить в интерфейс администратора (т.е. является ли этот пользователь "сотрудником" в вашем организация). Поскольку эта же пользовательская система может использоваться для управления доступ к публичным (то есть неадминистративным) сайтам, этот флаг отличается между публичными пользователями и администраторами.
"Обычные" пользователи admin - то есть активные, не-суперпользователи - предоставляется доступ администратора через назначенные разрешения. Каждый объект редактируемый через интерфейс администратора имеет три разрешения: создать разрешение, разрешение на редактирование и разрешение удаления для всех модели, которые вы создали.
Административный сайт Djangos использует систему разрешений, которую вы можете использовать, чтобы дать конкретные пользователи получают доступ только к частям интерфейса, которые они необходимость. Когда вы создаете пользователя, у этого пользователя нет разрешений и его до вас, чтобы дать пользователю определенное разрешение
Ответ 2
Django имеет только один тип пользователя. Его просто User
. В зависимости от того, какие разрешения вы предоставляете пользователю, они могут делать разные вещи по умолчанию:
- Любой нормальный пользователь может быть аутентифицирован (что весь пункт пользователя, иметь логин).
- Любой пользователь, которому присвоен флаг
staff
, может войти в добавленное приложение администратора. Помимо этого, у них нет других особых привилегий.
- Они могут быть установлены как активные или нет. Разрешены только активные пользователи.
Суперпользователь - это просто удобный метод для создания пользователя со всеми разрешениями. Это обычные пользователи, которым предоставлен персонал и все разрешения по умолчанию.
Существует также ADMINS
и MANAGERS
.
Они используются для уведомлений, когда сайт работает в процессе производства (т.е. когда DEBUG
является False).
Администраторы уведомляются о любых ошибках, которые генерируют трассировку. Они отправляются по электронной почте с трассировкой и информацией о запросе. Менеджеры отправляются по электронной почте, когда кто-то запрашивает ссылку, которая не существует (в основном, когда поднят 404).
Ответ 3
Суперпользователь автоматически имеет все разрешения (has_perm
вернет True).
Сотрудник может зайти на страницы администратора.
Страницы администратора - это простой интерфейс к моделям, которые вы настроили для отображения в нем. В нем отображаются только те модели, на которые у текущего пользователя есть права.
Итак, если кто-то является суперпользователем и персоналом, он может войти в админ-сайт и получить полный доступ ко всем моделям, отображаемым на сайте администратора.