2016-02-04 37 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 
│ │ │ ... 
相关问题