В интерфейса администрирования Django, начиная с версии 3.2, появилась поддержка «модного» темного оформления. Оно включается автоматически на основе «показаний» браузера о том что пользователь предпочитает темное оформление. Выглядит это все конечно круто, но в некоторых случаях тёмный режим в админке может мешать или раздражать.
Вот пример подобного малоприятного поведения темной темв в Джанго-админке.
Стандартными средствами Django (на момент написания этих строк) отключить темный режим в админке (сохранив при этом темное оформление в бразере и ОС) нельзя. Но поскольку никто не мешает нам переопределять шаблоный и статику стандартного приложения ‘django.contrib.admin’, то проблема с тем как отключить тёмное формление — не такая уж и проблема.
Всего-то нужно переопределить шаблон admin/base_site.html, прописав в блоке extrastyle переопределенные стили для медиа-запроса prefers-color-scheme: dark. Но делать это для каждого нового проекта не совсем удобно, ведь так? Пусть даже это не ежедневная операция.
Работая над своим сайтом, я решил сделать мальнкое django-приложение, решающее эту проблему. И по-быстрому написал django-non-dark-admin, оформив его в виде пакета на Python Package Index.
Но при этом я добавил конфигурационный параметр DISABLE_DARK_MODE, для настройки отключения темного режима через settings-модуль Django-проекта. По умолчанию он имеет значение False, выставляем True — и наслаждаемся привычной дефолтной цветовой гаммой джанговской админки.