自定义django的管理员:如何将样式表放在你想要的地方?

时间:2010-10-03 01:30:00

标签: django-admin

我试图自定义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 \?

感谢。

1 个答案:

答案 0 :(得分:0)

确保在ADMIN_MEDIA_PREFIX的设置中配置管理媒体的网址:

  

ADMIN_MEDIA_PREFIX

     

默认值:'/ media /'

     

管理媒体的URL前缀 - Django管理界面使用的CSS,JavaScript和图像。确保使用尾部斜杠,并使其与MEDIA_URL设置不同(因为相同的URL无法映射到两个不同的文件集上)。

此外,如果您使用的是django的开发服务器,请参阅How to serve static files上的文档:

  

如果您只需要从非标准位置提供管理媒体,请参阅--adminmedia参数以运行服务器。