2017-04-03 109 views
0

我想將背景圖像添加到我的網站。Django背景圖像消失

settings.py:

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 
STATICFILES_DIRS = [ 
    os.path.join(BASE_DIR, 'static'), 
] 
STATIC_URL = '/static/' 
STATIC_ROOT = '' 

路徑有關文件:

project/app 
     /static/css/base.css 
       /images/img.jpg 

我嘗試了兩種方式,分別詮釋了HTML和CSS。

加入HTML:

HTML:

{% load static %} 
<section style:"background-image: url({% static "images/img.jpg" %})"></section> 

加入CSS:

HTML:

<link href="{{ STATIC_URL }}css/base.css" rel="stylesheet" type="text/css" /> 

<section id="intro-header"></section> 

CSS:

section#intro-header{ 
background-image: url({% static "images/img.jpg" %}); 
background-size: cover; 
} 

他們都不起作用。

我錯過了哪個部分?

更新

這裏是系統消息:

"GET /images/img.jpg HTTP/1.1" 404 2387 

更新

當我把

<style> 
    section#intro-header{ 
      background-image: url("/static/images/winter.jpg"); 
      background-size: cover; 
    } 
    </style> 

在HTML文件和它瓦特orks

但是,css問題仍然存在。

更新

謝謝大家

在CSS添加

轉成<link href="/static/css/base.css" rel="stylesheet" type="text/css" />

然後它的作品,雖然{{STATIC_URL}}用「/靜態等於/ '

或薄g我錯過了?

+0

你能直接看到圖像嗎?/ static/images/img.jpg'? –

+0

是的,圖像確實work.I更新系統消息上面大約404沒有找到 –

+0

您是否嘗試用單引號替換雙引號? – TheDarkKnight

回答

0

您是否設置了URL以在開發中包含靜態文件?

urlpatterns = [ 
    # ... the rest of your URLconf goes here ... 
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) 
+0

我沒有添加它,但是終於工作了。這是否有必要? –

+0

不,這是沒有必要的,但確實允許您在未安裝django.contrib.staticfiles中間件時使用開發中的靜態文件 – dentemm