5

出于某种原因,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}),
4

1 回答 1

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()"

祝大家好运!

于 2010-12-08T21:48:53.157 回答