Перейти к основному содержимому

Настройки и checks

Добавлено в 1.0.1

Настройки Django

НастройкаПо умолчаниюНазначение
CHASSIS_PERMISSION_CHECK'group_only'group_only или user_has_perm
CHASSIS_PERMISSION_NAME_NORMALIZATION_ENABLEDFalseНормализовать стандартные имена прав Django после migrate
CHASSIS_PERMISSION_NAME_NORMALIZATION_LANGUAGEобязателен, если включеноСейчас 'ru'
CELERY_BROKER_URLнетBackend Celery доступен только если Celery установлен и эта настройка задана
STORAGES['media']хранилище проектаХранилище файлов import/export
CHASSIS_LOGIN_ATTEMPT_LIMITS_ENABLEDTrueПрименять задержки расписания попыток входа
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.1

Chassis поставляет 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. См. Пользователи и доступ.

См. также