Django Admin - Предотвращение доступа персонала к панели администратора
Я довольно новичок в Django.
Как запретить пользователям из числа персонала входить в панель администратора Django? Я все еще хочу, чтобы они были идентифицированы как сотрудники, но не хочу, чтобы они могли входить в панель администратора. Я использую стандартную панель администратора Django.
Спасибо
Вы можете ограничить доступ администраторов только суперпользователями, переопределив стандартный сайт администратора и переопределив метод has_permission в вашем пользовательском сайте администратора, чтобы он возвращал True только для суперпользователей
myproject/admin.py
from django.contrib import admin
class MyAdminSite(admin.AdminSite):
def has_permission(request):
return request.user.is_active and request.user.is_superuser
myproject/apps.py
from django.contrib.admin.apps import AdminConfig
class MyAdminConfig(AdminConfig):
default_site = 'myproject.admin.MyAdminSite'
myproject/settings.py
INSTALLED_APPS = [
...
'myproject.apps.MyAdminConfig', # replaces 'django.contrib.admin'
...
]