我试图自定义django的admin css ....但是我被卡住....我确实在这里发现了很多类似的讨论......我还不清楚......这就是我所看到的。 ..
在base.html中,我们有
<link rel="stylesheet" type="text/css" href="{% block stylesheet %}{% load adminmedia %}{% admin_media_prefix %}css/base.css{% endblock %}"
该行解析为
<link rel="stylesheet" type="text/css" href="/media/css/base.css">
在已安装的管理员中,base.html最初位于
C:\ Python27 \ LIB \站点包\ django的\的contrib \管理员\模板\管理员
要自定义管理员应用,我复制了admin \ templates \ admin 到我的项目模板目录。然后我将所有C:\ Python27 \ Lib \ site-packages \ django \ contrib \ admin \ media复制到我的项目中作为PROJECT_ROOT \ media。
我希望
<link rel="stylesheet" type="text/css" href="/media/css/base.css">
将使用PROJECT_ROOT \ media \ for css .....
但是,django仍然使用C:\ Python27 \ Lib \ site-packages \ django \ contrib \ admin \ media ....
可以解释一下原因吗?
此外,我需要做些什么才能让href =“/ media / css / base.css”使用PROJECT_ROOT \ media \?
感谢。
答案 0 :(得分:0)
确保在ADMIN_MEDIA_PREFIX的设置中配置管理媒体的网址:
ADMIN_MEDIA_PREFIX
默认值:'/ media /'
管理媒体的URL前缀 - Django管理界面使用的CSS,JavaScript和图像。确保使用尾部斜杠,并使其与MEDIA_URL设置不同(因为相同的URL无法映射到两个不同的文件集上)。
此外,如果您使用的是django的开发服务器,请参阅How to serve static files上的文档:
如果您只需要从非标准位置提供管理媒体,请参阅--adminmedia参数以运行服务器。