2016-02-04 59 views
0

我有一個CSS類,我需要添加一個背景。如何將我的背景指向Django中的靜態文件夾?如何在CSS文件中添加靜態url?

E.g:

.background { 
 
\t background: url(img/my-background.png) no-repeat; 
 
}

我必須與模板標籤在我base.html文件添加此呢?就像這樣:

<style>.background { background: url({% static "img/my-background.png" %}) no-repeat; } </style> 
+0

我想你只需要指定靜態目錄(與您的圖片),然後你可以用CSS規則訪問您的圖像,無論是內聯CSS或外部。 –

+0

也是,你的應用名爲img?可能不會,所以你的路徑最可能是/static/your_app/my-background.png,或者如果你選擇使用{%load staticfiles%},那麼它可能是/your_app/my-background.png。假設完整路徑是/your_app/static/your_app/my-background.png –

回答

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 /模板/ xyz.html

<link href="{{ STATIC_URL }}app_name/css/style.css" rel="stylesheet" > 

3)靜態/ 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 
│ │ │ ...