Django Admin通过apache破解了CSS链接,但是在runserver模式下运行

时间:2010-12-08 16:14:43

标签: django django-admin django-settings

由于某种原因,django政府在某些时候被打破了。 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 个答案:

答案 0 :(得分:9)

好的,我明白了。

对于生产服务器,您必须设置指向您提供的设置的链接。对我来说,我在settings.py文件中选择了admin_media文件夹:

ADMIN_MEDIA_PREFIX = '/admin_media/'

为了告诉apache查找文件,您必须通过添加以下行来编辑启用网站的文件:

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

但请注意,这是我的服务器上安装的django contrib admin的路径。您的服务器可能有不同的安装,因此请查看您的设置。通过在终端中复制粘贴来找出你的python安装位置:

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

祝大家好运!

相关问题