Настройки и checks
Настройки Django
| Настройка | По умолчанию | Назначение |
|---|---|---|
CHASSIS_PERMISSION_CHECK | 'group_only' | group_only или user_has_perm |
CHASSIS_PERMISSION_NAME_NORMALIZATION_ENABLED | False | Нормализовать стандартные имена прав Django после migrate |
CHASSIS_PERMISSION_NAME_NORMALIZATION_LANGUAGE | обязателен, если включено | Сейчас 'ru' |
CELERY_BROKER_URL | нет | Backend Celery доступен только если Celery установлен и эта настройка задана |
STORAGES['media'] | хранилище проекта | Хранилище файлов import/export |
CHASSIS_LOGIN_ATTEMPT_LIMITS_ENABLED | True | Применять задержки расписания попыток входа |
CHASSIS_ADMIN_PATH_PREFIX | '/admin/' | Префикс, который слушают middleware сессий и аудита |
GEOIP_COUNTRY_DATABASE_PATH | не задан | GeoLite2 Country MMDB для страны сессии и профиля |
Опциональный middleware для HTML-страниц ошибок Chassis, сессий и журнала Admin:
MIDDLEWARE = [
# ...
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django_chassis.middlewares.UserSessionMiddleware',
'django_chassis.middlewares.AdminAuditMiddleware',
'django_chassis.middlewares.AdminErrorPageMiddleware',
]
См. Пользователи и доступ про GeoIP и попытки входа.
Большого блока настроек Chassis нет. Поведение сайта и ModelAdmin объявляется на миксинах в Python.
System checks
ChassisAdminMixin и ChassisAdminSiteMixin регистрируют system checks Django для:
- ссылок на права действий
- lookup полей / фильтров export
- ссылок sidebar на модели и страницы
- раскладки dashboard (дубли slug, число графиков, глобальные alerts)
Запускайте их вместе с остальными checks Django:
uv run python manage.py check
Ошибки при создании (ImproperlyConfigured) срабатывают, когда
инстанцируется AdminSite: неверные контракты доступа страниц, нет прав
view_* у PermissionAdminPage, personal-страницы в группах navbar.
Поддерживаемый runtime
Изменено в 1.0.1- Python 3.13, 3.14
- Django 6.0+
Gunicorn
Добавлено в 1.0.1Chassis поставляет manage.py run_gunicorn. Команда поднимает WSGI-приложение
проекта sync-воркерами:
uv run python manage.py run_gunicorn --port=8000 --workers=2
WSGI-цель берётся из --app или Django WSGI_APPLICATION
(project.wsgi.application становится project.wsgi:application).
Опциональный --config указывает на Python-конфиг Gunicorn.
Опциональный extra
pip install 'django-chassis[celery]'
См. Backend import и export. GeoIP (geoip2)
входит в обязательные зависимости; для определения страны всё ещё нужен
GEOIP_COUNTRY_DATABASE_PATH. См. Пользователи и доступ.