在我的settings.py
,
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
我做错了什么,正确的方法是什么,所以它在dev't和production中都有效。我看了这里(Django 1.4 serving MEDIA_URL and STATIC_URL files on development server),但一切都是徒劳的。
答案 0 :(得分: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
答案 1 :(得分:0)
Suziemac,它也适合我。以下是原始文档的链接:https://docs.djangoproject.com/en/1.10/ref/views/。
当我开发应用程序时,我使用了+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT),
但是当我部署应用程序时,这不起作用。