Django 将 css 图像查找到错误的目录中



我对静态文件有以下设置

STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static_my_proj'),
]
STATIC_ROOT = os.path.join(BASE_DIR, 'static_cdn', 'static_root')
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'static_cdn', 'media_root')

在 css 文件中我这样做

#mydiv{
background-image:  url('/img/myimg.png');
}

和我的目录结构

project root
- static_my_proj
- css
- img
- js

我可以从网络选项卡中看到它在static/css/img/myimg.png中查找图像。但是,如果我这样做,那么它就可以了。如何在开始时不使用../来制作它?

#mydiv{
background-image:  url('../img/myimg.png');
}

你最好使用{% static 'img/myimg.png %}。硬编码路径不好,因为如果更改静态文件夹,则必须更改所有代码。您不能在 css 文件中使用static,但在模板中使用。您的代码如下所示:

您的HTML.html:

{% load staticfiles %}
<div id="mydiv" style="background-image: url({% static 'img/myimg.png' %})">
</div>

最新更新