Django Admin сломал ссылку CSS через apache, но работает в режиме runserver - PullRequest
5 голосов
/ 08 декабря 2010

По какой-то причине администрация Джанго была сломана. CSS отсутствует.

Вот мои настройки:

MEDIA_ROOT = os.path.normpath(os.path.join(SITE_ROOT, 'media/'))
MEDIA_URL = '/media/'
ADMIN_MEDIA_PREFIX = '/admin_media/'

Однако сгенерированная строка на странице администратора по-прежнему:

<link rel="stylesheet" type="text/css" href="/admin_media/css/base.css" />

но сайт дает мне 404 файла.

И это становится лучше - если я использую apache для просмотра проекта, эта проблема возникает. Если я использую python manage.py runserver, администратор работает хорошо.

Есть какие-нибудь подсказки, почему это может происходить? - перезапустил Apache, это не помогло.

вот что у меня есть в файле urls:

    (r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}),

1 Ответ

9 голосов
/ 09 декабря 2010

Хорошо, я разобрался.

Для рабочего сервера вам нужно установить ссылку на предоставленную вами настройку.Для меня я выбрал папку admin_media, в файле settings.py:

ADMIN_MEDIA_PREFIX = '/admin_media/'

И чтобы указать apache искать файлы, вы должны отредактировать файл с поддержкой сайтов, добавив строку:

Alias /admin_media/ /usr/lib/python2.6/dist-packages/django/contrib/admin/media/

Обратите внимание, что это путь к администратору django contrib, установленному на моем сервере.Ваш сервер может иметь другую установку, поэтому посмотрите ваши настройки.узнайте, где установлен ваш питон, скопировав его в терминал:

python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"

Удачи всем!

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