отключить темный режим в админке django
Проблема
Я установил Django через пару месяцев. Текущая версия - 3.2.4.
Раньше Django-admin был просто облегченным . Текущий Django-admin автоматически переключается на темный или светлый в соответствии с системной темой. Что ж, я не хочу такого поведения. Я хочу, чтобы Django-admin был легкой темой независимо от системной темы. Я не использую стороннюю тему для Django-admin .
Что я пробовал?
Согласно одному из комментариев в этом ответе,
Я решил прокомментировать раздел «@media (prefers-color-scheme: dark)» в /static/admin/css/base.css. Не уверен, что это хорошее решение, но самое быстрое.
Я попытался прокомментировать код, как показано здесь, но это не сработало. Я попытался очистить кеш и даже попытался переключить браузер, но ни один из них, похоже, не работает. В браузерах я всегда предпочитаю светлую тему. Как я могу этого добиться? Любая помощь заметна. Заранее спасибо :)
Сведения о системе:
ОС: Fedora 5.11.12-300.fc34.x86_64
Python-Verion: 3.9.5
4 ответа
Так что в основном есть 2 способа добиться этого. Вы можете использовать кого угодно, что вам подходит.
1-й способ:
Самый быстрый способ - зайти в настройки вашей ОС и сменить тему с темной на светлую .
Если вы используете Linux, вам может понадобиться
gnome-tweaks
для переключения между темами.
2-й способ:
Допустим, вы используете виртуальную среду с именем
venv
. Теперь перейдите в следующий каталог
Venv / Lib / сайты-пакеты / django / contrib / admin / static / admin / css / base.css
Прокомментируйте или удалите весь код. Это выглядело бы примерно так.
@media (prefers-color-scheme: dark) {
:root {
...
...
}
Теперь, если вы также выполнили python manage.py collectstatic и предположим, что ваше статическое имя папки static / . Прокомментируйте весь код
prefers-color-scheme: dark
из следующего файла тоже.
/static/admin/css/base.css
Примечание. Иногда браузер сохраняет файлы CSS в кэш-памяти. Чтобы перезагрузить все файлы CSS, перезагрузите страницу администратора с помощью Ctrl+ Shift+ R.
Начиная с версии 4.1 Django, правильное решение, по-видимому, переопределяет блок вadmin/site.html
шаблон с пустым содержимым:
{% block dark-mode-vars %}{% endblock %}
Это удаляет ссылки CSS, характерные для темного режима, со страницы.
Задокументировано здесь .
Принятый ответ исправляет это только для текущего пользователя. Решение, которое исправило бы это для всех пользователей сайта, было бы аналогичным, но потребовало бы копирования base.css на ваш
static/css
каталог и редактировать его там.
В качестве альтернативы (и это то, что я сделал), просто
pip install
django-light и добавьте его в свой
INSTALLED_APPS
как раз перед
django.contrib.admin
К сожалению, на данный момент нет переключателя для отключения этого поведения (django 3.2). чтобы была только светлая тема, вы должны удалить весь блок
@media (prefers-color-scheme: dark)
код из
django/contrib/admin/static/admin/css/base.css
файл. или вы можете отключить
prefers-color-scheme: dark
из параметров рендеринга вашего браузера. инструкции для хрома описаны здесь