time

Dajngo и статика для админки

Иногда бывает необходимость расширить стандартную django'вскую админку новыми изображениями, javascript, css или прикрутить django-grappelli. Для указания расположения статитки админки существует настройка ADMIN_MEDIA_PREFIX, но есть одна особенность: значение этой настройки должно отличатся от значения MEDIA_URL, иначе при доступе к файлу получим Page not found, а при просмотре папки через брауезер - Permission denied. Последние две ошибки можно увидеть под встроенным, девелоперским, сервером.

Есть два варианта выхода из сложившейся ситуации.

Первый, если у нас такие настройки в settings.py

MEDIA_URL = '/static/'
ADMIN_MEDIA_PREFIX = '/static/admin/media/'

то запускаем девелоперский сервер с указанием пути к статике для админки

./manage.py runserver 127.0.0.1:8000 --adminmedia=/fullpath/to/your/admin/media/

Второй, добавляем в settings.py, в переменную ADMIN_MEDIA_PREFIX домен/ip сайта

ADMIN_MEDIA_PREFIX = 'http://127.0.0.1:8000/static/admin/media/'

blog comments powered by Disqus