如何在CSS文件中添加静态URL?

时间:2016-02-04 19:44:24

标签: django

我有一个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>

1 个答案:

答案 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
│    │   │   ...