我想在我的项目中重用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”,如下图所示:
所以我的问题是:
首先:如何重用“admin”资源?
第二:为什么“selector-icons.svg”改为“selector-icons.svg”?
答案 0 :(得分:1)
Django 1.9中的图标已从更改为svg,尚未发布(请参阅ticket 20597)。
在旧版本的Django上,包括当前版本1.8,图标是gif。
您可以在升级前使用gif,或者如果您现在真的需要svgs,可以克隆存储库并将the svgs添加到静态文件中。