为什么我不能使用django admin app的资源

时间:2015-09-30 08:55:25

标签: python css django svg

我想在我的项目中重用django的contrib“admin”资源,“admin”有一个静态目录,我希望重用“static / admin / image / selector-icons.svg”。

我有这样的settings.py:

STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)

我也试过了:

STATICFILES_DIRS = (
    os.path.join(PROJECT_ROOT,'static'),
    file path of admin's static
)

再次失败。

“admin”可以在其“widgets.css”中使用“static / admin / image / selector-icons.svg”,如

.selector-add {
    background: url(../img/selector-icons.svg) 0 -96px no-repeat;
    cursor: default;
}

但我不能在我的项目中这样做:

.selector-add {
    background: url(admin/img/selector-icons.svg) 0 -96px no-repeat;
    cursor: default;
}

chrome的控制台说404错误!但是

.selector-add {
    background: url(admin/img/selector-icons.gif) 0 -96px no-repeat;
    cursor: default;
}

的工作。

我在“admin”渲染中找到html,“selector-icons.svg”将转换为“selector-icons.gif”,如下图所示: in red circle the css shows "selector-icons.gif", not "selector-icons.csv"

所以我的问题是:

首先:如何重用“admin”资源?

第二:为什么“selector-icons.svg”改为“selector-icons.svg”?

1 个答案:

答案 0 :(得分:1)

Django 1.9中的图标已从更改为svg,尚未发布(请参阅ticket 20597)。

在旧版本的Django上,包括当前版本1.8,图标是gif。

您可以在升级前使用gif,或者如果您现在真的需要svgs,可以克隆存储库并将the svgs添加到静态文件中。