2012-01-02 27 views
1

我已經安裝在我的urls.py如下:Django的媒體鉤不拿起正確的目錄

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

和我的設置是:

MEDIA_ROOT = 'd:/~Sasha/Portman/media/' 
MEDIA_URL = 'http://localhost:8000/media/' 

及以下網址:

http://localhost:8000/media/icons/151.png 

回報:

"d:\install\python27\lib\site-packages\django\contrib\admin\media\icons\151.png" does not exist 

還有什麼我失蹤?

回答

1

問題是settings.ADMIN_MEDIA_PREFIX和MEDIA_ROOT都指向同一/媒體月底/結束等等r'^ media /'正在混合它們。將ADMIN_MEDIA_PREFIX更改爲/ admin-media /,現在全部運行。

0

您應該在其他設置使用的settings.py中設置項目目錄。

我的設置:

BASE_PATH = os.path.dirname(os.path.abspath(__file__)) 
... 
MEDIA_ROOT = os.path.join(BASE_PATH, 'media') 
MEDIA_URL = '/media/' 
ADMIN_MEDIA_PREFIX = '/static/admin/' 
STATIC_URL = '/static/' 
# Additional locations of static files 
STATICFILES_DIRS = (
    os.path.join(os.path.dirname(__file__), 'static').replace('\\', '/'), 
    os.path.join(BASE_PATH, 'static'), 
) 

,然後在urls.py,在

if settings.DEBUG: 
    urlpatterns += patterns("", 
    url(r'^media/(?P<path>.*)$', 'django.views.static.serve',  {'document_root':settings.MEDIA_ROOT}) 
) 
urlpatterns += staticfiles_urlpatterns() 
+0

恐怕我不明白。這些設置肯定是由應用程序找到的 - 比如愉快地檢索數據庫設置。你說我錯過了BASE_PATH嗎?有趣的是,使用相同的/媒體/設置的其他應用程序是愉快地工作沒有BASE_PATH :) – abolotnov 2012-01-02 19:37:27

+0

你有urls.py這些行嗎?你是用DEBUG True還是False運行? – dustinmm80 2012-01-02 22:07:06