django admin静态URL:适用于base.css,但不适用于dashboard.css

django admin静态URL:适用于base.css,但不适用于dashboard.css,django,django-admin,django-staticfiles,Django,Django Admin,Django Staticfiles,在settings.py中: STATIC_ROOT = os.path.join(PROJECT_PATH, '..', 'media/static') STATIC_URL = '/media/static/ 在呈现页面中: <title>Site administration | Django site admin</title> <link rel="stylesheet" type="text/css" href="/media/static/admin

在settings.py中:

STATIC_ROOT = os.path.join(PROJECT_PATH, '..', 'media/static')
STATIC_URL = '/media/static/
在呈现页面中:

<title>Site administration | Django site admin</title>
<link rel="stylesheet" type="text/css" href="/media/static/admin/css/base.css" />
<link rel="stylesheet" type="text/css" href="css/dashboard.css" />
站点管理| Django站点管理

base.css的href是正确的,但dashboard.css的href缺少
媒体/static/admin
。为什么?

我想你的模板是这样的

<title>Site administration | Django site admin</title>
<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}admin/css/base.css" />
<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}css/dashboard.css" />
呈现的HTML(在我当前的项目中,
/static/
是我的静态URL):


我以前在
静态URL
方面遇到过一些问题,因为我忘记设置
呈现到响应的上下文。如果看不到视图和模板中使用的代码,则很难确定实际问题,但如果它正在设置上下文,并且您正在使用
呈现到响应
,请尝试以下操作:

return render_to_response("login.html", context_instance=RequestContext(request))

许多其他渲染函数也是如此。您可以发布视图和模板吗?

即使Django大声对您说ADMIN\u MEDIA\u前缀已被弃用,但将其放入您的settings.py似乎可以在某些时候修复此错误。我还没来得及深入了解源代码,但无论dashboard.css来自哪里的“extra_styles”上下文被设置,似乎都在查看AMP设置。

ADMIN_MEDIA_前缀设置的值是多少?您使用的是哪个django版本?看看您是如何在模板中引用仪表板css的?我使用的是Django 1.4。我没有设置ADMIN\U MEDIA\U前缀,因为在1.4中不推荐使用它。我自己没有引用dashboard.css或base.css,只有django.contrib.admin是.,@zoo如果你尝试我的方法会怎么样?您可以访问这些文件吗?这两个文件都可以通过/media/static/admin/css/访问。问题是为什么django.contrib.staticfiles为base.css生成正确的URL,而不是为dashboard.css生成正确的URL。@zoo我确信您在代码中犯了一些错误,如果看不到更多,很难找到它。查看更新后的答案以了解结果。如果是这样,则不会呈现url。顺便说一句,我建议使用而不是render\u to\u响应。然后它看起来像
returnrender(request,'login.html',{})
是的,我只是试图涵盖所有的基础,因为我们对模板和视图知之甚少。可能不是这个,只是以防万一。
<link rel="stylesheet" type="text/css" href="/static/admin/css/base.css" />, 
<link rel="stylesheet" type="text/css" href="/static/admin/css/dashboard.css" />
return render_to_response("login.html", context_instance=RequestContext(request))