Как оптимизировать панель администратора в Django?
Как вы уже наверное знаете, в Django существует встроенная админ-панель. Но мне не очень нравиться еë внешний вид, и мне надо добавить в неë дополнительную функцию. Собственно, вот и вопрос: как оптимизировать панель администратора в Django (то есть изменить еë внешний вид и добавить новые функции)?
Ответы (1 шт):
Вот здесь можно подробней ознакомится со всеми админ-интерфейсами django.
Я покажу установку и настройку на примере админ-интерфейса django-grapelli:
Чтобы установить данную панель надо выполнить команду:
pip install django-grappelli
После установки открываем файл settings.py и добавляем grappelli в INSTALLED_APPS (перед django.contrib.admin):
INSTALLED_APPS = (
'grappelli',
'django.contrib.admin',
)
Далее добавляем grappelli в файл urls.py папки конфигурации :
from django.urls import path, include
urlpatterns = [
path('grappelli/', include('grappelli.urls')), # grappelli URLS
path('admin/', admin.site.urls), # admin site
]
Добавляем обработчик контекстного запроса:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
...
'django.template.context_processors.request',
...
],
},
},
]
Сохраняем и закрываем файлы settings.py и urls.py, пересобираем статику для медиафайлов:
python manage.py collectstatic
Запускаем сервер python manage.py runserver переходим в админку и тестим. Это не решает вопрос блокировок пользователей, но полностью отвечает на вопрос изменения внешнего вида административной панели django.
