2013-04-05 5 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

+1

Вы установили свой основной urls.py для носителя и статического? – catherine

+0

Да, я сделал, но я понял проблему, продолжал оглядываться, теперь только что исправил ее. Позвольте мне «Изменить» вопрос .. –

ответ

4

Оказывается, я должен был включать в себя URLs, мой URLS

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),, однако это не сработало, когда я развернул приложение.

Смежные вопросы