Django-Chassis
Что такое Django-Chassis
Django-Chassis — декларативный Admin chassis для Django. Он даёт проекту
структурированный AdminSite, композируемые options для ModelAdmin, свои
страницы, контракт dashboard и полный overlay шаблонов.
Доменные модели остаются в проекте. Этот пакет — механизм: миксины, frozen options, сервисы и шаблоны, которые собирают Admin UI из этих объявлений.
Это не замена Django Admin и не место для бизнес-правил. Классы Model,
права и доменные сервисы живут в приложении. Chassis только собирает оболочку
admin вокруг них.
Обзор возможностей
- Начало работы — установка, порядок
INSTALLED_APPS, первый site и ModelAdmin. - Как это работает — миксины, options, сервисы и путь запроса.
- Admin site — бренд, обёртка сторонних админок, хуки сервисов.
- Sidebar, navbar и пользователи — навигация, стандартные Users/Groups, сессии и журнал Admin.
- Права — проверки group-only и
PermissionOption. - ModelAdmin — список
options,Settingsи раскладка change form. - Каталог options — каждый option: поля, значения по умолчанию, валидация, регион UI.
- Changelist и представление — анатомия списка, поиск, фильтры, вкладки, badges.
- Действия и объектные действия.
- Связанные сущности и таблицы.
- Свои страницы и информационные страницы — контракты доступа, анатомия, DTO.
- Dashboard — анатомия индекса, блоки, live-виджеты, сетка из четырёх колонок.
- Import и export — форматы, preview, хранилище, опциональный Celery.
- Справочник API — публичные классы, параметры и примеры.
Как разделён Admin UI
| Поверхность | Что объявляете | Где описано |
|---|---|---|
| Оболочка | бренд, sidebar_items, кнопки navbar, тема | Admin site, Sidebar, Navbar |
| Индекс | dashboard_component_classes + dashboard_blocks | Dashboard |
| Список модели | SearchOption, фильтры, вкладки, row/list actions, import/export | Changelist, каталог options |
| Объект модели | @object_action, связанные таблицы, presentation options | ModelAdmin, Объектные действия |
| Своя страница | подкласс AdminPage + один контракт доступа | Свои страницы |
| Отчёт | AdminInformationPage + DTO | Информационные страницы |
Требования
Изменено в 1.0.1- Python 3.13 или 3.14
- Django 6.0+
Celery опционален и нужен только для фонового backend import/export:
pip install 'django-chassis[celery]'