2013-04-05 73 views
1

在我settings.py爲什麼Django不能提供我的媒體文件?

ROOT_PATH = os.path.dirname(__file__) 
#STATICFILES_DIRS = 
STATIC_ROOT = os.path.join(ROOT_PATH, 'static') 
MEDIA_ROOT = os.path.join(ROOT_PATH, 'media') 
STATIC_URL = '/static/' 
MEDIA_URL = '/media/ 
在我的模板

 <div class=" event_image"> 
     <img src="{{ MEDIA_URL }}{{ restaurant.logo }}" /> 
    </div> 

在發展這多年平均值的工作,它返回一個404 "GET /media/restaurant_detail/restaurant_detail/information_about_object.jpg HTTP/1.1" 404 178672

我在做什麼錯,什麼是正確的方式去解決它,所以它在工作和生產都有效。我看了這裏(Django 1.4 serving MEDIA_URL and STATIC_URL files on development server),但都是徒勞的。

+0

你有'python manage.py collectstatic'嗎?嘗試手動在文件系統中查找此文件。 – nk9 2013-04-05 11:03:31

+1

您是否爲媒體和靜態設置了主要的urls.py? – catherine 2013-04-05 11:05:18

+0

是的,我做到了,但我想通了這個問題,不斷地環顧四周,現在只是修復了它..我'編輯'的問題.. – 2013-04-05 11:06:20

回答

4

原來我必須包括的網址,我的網址

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

) 

以上工作..

my project structure 
-myproject 
-- media 
-- static 
-- templates 
-- settings.py 
-- manage.py 
-- app 
0

Suziemac,它的工作對我來說太。以下是原始文檔的鏈接:https://docs.djangoproject.com/en/1.10/ref/views/。 當我開發一個應用程序時,我使用了+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT),但是,當我部署一個應用程序時,這不起作用。

相關問題