2013-02-26 67 views
1

這裏是試圖加載{{STATIC_URL}} IMG/memestatlogo2.jpg當我收到錯誤。爲什麼Django沒有在STATICFILES_DIRS中查找img/memestatlogo2.jpg?靜態資產在Django沒有找到STATICFILES_DIRS

Page not found (404) 
Request Method: GET 
Request URL: http://127.0.0.1:8000/static/img/memestatlogo2.jpg 

Using the URLconf defined in memestat.urls, Django tried these URL patterns, in this order: 
^$ 
The current URL, static/img/memestatlogo2.jpg, didn't match any of these. 

這裏有相關的配置構成了我settings.py

STATIC_ROOT = '' 

STATIC_URL = '/static/' 

STATICFILES_DIRS = ('/home/ryan/Programming/OpenCV-2.4.2/msheroku/memestat/stats/') 

的像,位於

「/home/ryan/Programming/OpenCV-2.4.2/msheroku/memestat /stats/img/memestatlogo2.jpg'

回答

0

STATICFILES_DIRS僅在執行collectstatic命令時使用。然後將文件複製到上面示例中未設置的STATIC_ROOT中。

您需要設置STATIC_ROOT到您希望您的靜態文件要複製一個目錄。該目錄還包含您的項目範圍內的靜態文件,這些文件不屬於任何應用程序,例如robots.txt,favicon.ico,您的徽標和背景圖像。

+0

我應該如何加載沒有STATICFILES_DIRS的靜態資產? – camelCase 2013-02-26 19:19:17

+0

如果debug = True,則內置調試服務器(runserver命令)將從STATIC_ROOT提供文件。這就是它的全部。 – 2013-02-26 19:22:19

+0

您可以使用collectstatic將文件複製到STATIC_ROOT。默認情況下collectstatic查找文件在兩個位置中: 1. /靜態/目錄中的每個安裝的應用程序和 2.每個目錄中STATICFILES_DIRS – 2013-02-26 19:24:05