2010-07-05 51 views
0

在我的生活中,我不能在我的本地測試機器上通過一個特定項目獲得我的靜態媒體文件,儘管我對其他幾個Django沒有問題項目。Django靜態媒體文件沒有通過

我正在使用Django 1.1.1和Windows XP環境。

我的settings.py看起來像這樣爲媒體主辦的東西:

ROOT_PATH = os.path.dirname(__file__) 
# Absolute path to the directory that holds media. 
# Example: "/home/media/media.lawrence.com/" 
MEDIA_ROOT = os.path.join(ROOT_PATH, 'site_media') 

# URL that handles the media served from MEDIA_ROOT. Make sure to use a 
# trailing slash if there is a path component (optional in other cases). 
# Examples: "http://media.lawrence.com", "http://example.com/media/" 
MEDIA_URL = '/site_media/' 

# URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a 
# trailing slash. 
# Examples: "http://foo.com/media/", "/media/". 
ADMIN_MEDIA_PREFIX = '/media/' 

而且它看起來在這裏:

http://127.0.0.1:8000/site_media/schedule/img/add.png

和文件是沿着網站目錄這樣的行:

c:\ django \ project_file \ site_media \ schedule \ img \ add.png

但由於某種原因,圖像仍未顯示出來。

有什麼建議嗎?

回答

3

您的媒體根目錄應完全指定;定義你的MEDIA_ROOT如下。

ROOT_PATH = os.path.dirname(__file__) 
MEDIA_ROOT = os.path.join(ROOT_PATH, 'site_media') 

您是否閱讀過關於靜態文件的this documentation;您還應該爲您的urls.py添加額外的路由配置,以確保對靜態內容的請求得到正確處理。

(r'^site_media/(?P<path>.*)$', 'django.views.static.serve', 
     {'document_root': settings.MEDIA_ROOT}), 
+0

謝謝,這解決了它,並結束了幾天的挫折。今晚我會給這個特殊的文檔頁面更徹底的閱讀。 – 2010-07-05 15:45:48

+0

請標記爲答案,如果它幫助你。 – Thomas 2010-07-06 07:07:34