我对静态文件有以下设置
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>