Переопределить определенные файлы администратора CSS в Django - PullRequest
3 голосов
/ 19 октября 2011

Переопределение шаблонов администратора так же просто, как создание папки admin в каталоге шаблонов и копирование в нее любых файлов шаблонов, которые вы хотите переопределить.Однако я просто хочу поиграть с таблицами стилей администратора, поэтому я сделал папку admin в своей папке статических файлов и поместил в нее css/base.css.В отличие от решения для шаблонов, это не похоже на работу.

Так есть ли способ переопределить отдельные CSS-файлы для django.contrib.admin так же, как вы можете переопределить шаблоны?Если нет, то что было бы лучшим решением для переопределения CSS-файлов?Я ищу решение, за исключением копирования всех мультимедийных файлов администратора в мой проект и изменения статического каталога администратора

Ответы [ 3 ]

10 голосов
/ 19 октября 2011

То, что я делаю для достижения этой цели, это переопределение base_site.html шаблона следующим образом:

{% block blockbots %}
<link rel="stylesheet" type="text/css" href="/media/css/my_admin.css" />
{{ block.super }}
{% endblock %}

Я поместил CSS в blockbots вместо extrahead, чтобы быть уверенным, что он загружен в конце, поэтому он переопределит все остальные CSS.

2 голосов
/ 19 октября 2011

Я ищу решение, за исключением копирования всех мультимедийных файлов администратора в мой проект и изменения статического каталога администратора

Не думаю, что на самом деле есть альтернатива.Вы копируете мультимедийные файлы в новый каталог и при запуске сервера передаете аргумент командной строки adminmedia, например

python manage.py runserver --adminmedia=./myadminmedia

В любом случае, когда вы запускаете его на рабочем сервере, носитель администратора имеетдля обслуживания с хорошего статического обслуживающего сервера, для которого вы можете указать этот новый путь.

Ссылка из Документов: https://docs.djangoproject.com/en/1.3/ref/django-admin/#django-admin-option---adminmedia

0 голосов
/ 19 октября 2011

Вероятно, вы можете взломать файл urls.py и указать только один URL-адрес мультимедиа для обслуживания из локальной папки, а остальные - из каталога Django (в режиме разработки).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...