Код, интерфейсы и трафик без воды
lawebbox

Удобная навигация в Django Admin: сворачивание групп меню

Прод падает? Не. Но если у вас в Django Admin боковое меню на три экрана — вы примерно понимаете, почему один хабровский комментарий привёл к появлению нового open-source-пакета.

Максим Воронцов, Хардкорный бэкендер и девопс · обновлено 13 июля 2026 г.

Удобная навигация в Django Admin: сворачивание групп меню

Что за пакет и откуда он взялся

Исходная задача была скромной: кнопка «Наверх» для проектов на Django. Но в обсуждении прозвучала мысль, что проблема глубже — длинное боковое меню мешает навигации, а единственный существовавший инструмент (django-foldable-admin) мёртв: в репозитории Django 1.8, Python 2.7 и инструкция «скопируйте шаблоны руками». Идея сворачивания групп приложений осталась актуальной, а реализация — нет.

Автор вынес решение в отдельный пакет. Механически просто: переключатель сворачивает группу приложений в sidebar, состояние хранится в cookie. Никаких миграций, моделей, дополнительных admin-страниц. Каждый пользователь настраивает вид под себя в своём браузере — остальные не страдают.

Почему это не костыль (почему)

Типичный подход к «грязному sidebar» — перетащить всё в settings.py. Но параметры интерфейса: отступы, цвет, положение элементов — это не бизнес-логика. Заставлять разработчика лезть в конфиг и перекатывать прод ради смещения кнопки на три пикселя — классический костыль, который мы все где-то видели.

Здесь архитектура честнее: cookie, никакой серверной стороны. Если группа используется раз в месяц — свернули, забыли. Если часто — развернули обратно. При этом остальные разделы админки, стандартные приложения и нижние элементы sidebar не затрагиваются. Нет глобальных.

Для более серьёзных кейсов существует django-admin-tools — но это уже другой масштаб и другая сложность. Если задача — просто убрать визуальный шум, достаточно компактного пакета без лишних зависимостей.

Что проверить на практике

Пакет компактный, но перед установкой стоит убедиться, что он совместим с вашей версией Django. Плюс — cookie-подход подразумевает, что гигиена полости рта вашего браузера не включает агрессивную очистку: если у пользователя настроено автоудаление cookie при закрытии вкладки, состояние свёрнутых групп каждый раз сбросится. Не критично, но раздражает.

Полезно также проверить, как пакет ведёт себя с кастомными admin-сайтами и сторонними приложениями, которые сами модифицируют sidebar. На проде — как обычно: сначала стейдж, потом бэкап, потом катить.

pip install django-foldable-admin # нет, это мёртвый пакет
# ищите актуальный репозиторий в статье автора на Хабре

Резюме для тех, кто не любит длинные sidebar: сворачивание групп — это не «инновация», это базовая эргономика, которую Django Admin не даёт из коробки. Небольшой open-source-пакет закрывает дыру без танцев с бубном. Делайте бэкапы.