首页 文章

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

提问于
浏览
1

我试着自定义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 \模板\ ADMIN

为了自定义管理员应用程序,我将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

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

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

    另外,如果你是're using django'的开发服务器,请参阅How to serve static files上的文档:

    如果您只需要从非标准位置提供管理媒体,请参阅--adminmedia参数到runserver .

相关问题