我有一个CSS类,我需要添加一个背景。如何将我的背景指向Django中的静态文件夹?
E.g:
.background {
background: url(img/my-background.png) no-repeat;
}
我是否必须在base.html中添加模板标记?像这样:
<style>.background { background: url({% static "img/my-background.png" %}) no-repeat; } </style>
答案 0 :(得分:2)
为什么不简单地使用相对路径?
1)settings.py
import os
from path import path
SETTINGS_FILE_FOLDER = path(__file__).parent.abspath()
STATIC_URL = '/static/'
STATIC_PATH = os.path.join(SETTINGS_FILE_FOLDER, '../static')
STATICFILES_DIRS = (
STATIC_PATH,
)
2)app_name / templates / xyz.html
<link href="{{ STATIC_URL }}app_name/css/style.css" rel="stylesheet" >
3)static / app_name / css / style.css
.class-name {
background-image: url('../img/logo.png');
}
4)这应该是文件夹结构:
project_folder
│ settings.py
│ manage.py
│
└───app_name
│ │ views.py
│ │ urls.py
│ │ ...
│ │
│ ├───templates
│ │ │ xyz.html
│ │ │ abc.html
│ │ │ ...
│
│
static
│
└───app_name
│ │
│ ├───css
│ │ │ style.css
│ │ │ ...
│ │
│ └───img
│ │ │ logo.png
│ │ │ ...