我有一个Django
项目,我想访问一些图片。
我已设置mySite\settings.py
中的路径,如此
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
我的网址定义如下:
from . import views
urlpatterns = [
url(r'^$', views.index, name='index'),
]
if settings.DEBUG:
# static files (images, css, javascript, etc.)
urlpatterns += patterns('',
url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {
'document_root': settings.MEDIA_ROOT,
}),
)
因此图像位于mySite/media/subfolder
。现在我想在我的页面上显示我的图片,我src
的{{1}}就像这样
<img>-tag
所以完整路径是/media/subfolder/foobar.png
(在Web控制台中检查)。但是,没有图片出现。我还尝试了其他不同的绝对路径,例如http://localhost:8000//media/subfolder/foobar.png
或http://localhost:8000/subfolder/foobar.png
,但没有显示图像。
我看过Django MEDIA_URL and MEDIA_ROOT和django media not loading,但没有帮助。
我错过了什么?
答案 0 :(得分:0)
我刚刚注意到了这个错误。
问题是我将网址设置错误urls.py
。我的mySite/urls.py
包含以下代码:
urlpatterns = [
url(r'^app/', include('app.urls')),
]
在我的应用程序中,我有上面提到的代码。因此,我的media
文件夹的路径是错误的。现在我搬家了
if settings.DEBUG:
# static files (images, css, javascript, etc.)
urlpatterns += patterns('',
url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {
'document_root': settings.MEDIA_ROOT,
}),
)
到mySite/urls.py
并且路径正确并显示图像。