Django没有通过/ media /显示图像

时间:2017-03-17 11:48:54

标签: python django image url media

我已经停留了很长一段时间我现在无法显示用户之前已卸载的图片。我可以选择在我的网站上传文件,这部分工作正常。我可以通过帖子在管理页面上看到图像在那里(名称,标题和标签),但是当我尝试在管理员中查看图像或在网站上显示图像时,我收到错误。图片已成功添加到我项目中的Media_cdn文件夹中。

当我尝试通过管理页面打开它时,它说:

Request Method: GET
Request URL:    http://127.0.0.1:8000/media/scan.png
Raised by:  django.views.static.serve
"/media/scan.png" does not exist

此外,当我尝试打开/ Media /时,表示页面不存在。当我想在我的网站上打开图像时,它会给我一个未找到图片的符号。但我可以看到其余的给定信息(名称,标题,标签)。

我希望有人可以告诉我我缺少哪一部分。

主要settings.py:

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), 'media_cdn')

主要Urls.py

enter code here
if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL,     document_root=settings.MEDIA_URL)
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_URL)

视图页面的urls.py

urlpatterns = [
    url(r'^my_profile/upload',views.upload, name='upload'),
    url(r'^my_profile/mypost',views.mypost, name='mypost'),
    url(r'^$',ListView.as_view(queryset=Post.objects.all().order_by('-id')[:25],template_name='my_profile/my_profile.html')),
    url(r'^(?P<pk>\d+)$', DetailView.as_view(model = Post ,template_name = 'my_profile/mypost.html' )),
    url(r'^my_profile/',views.profile, name='profile'),
]

如果有人知道该怎么做请告诉我。

2 个答案:

答案 0 :(得分:2)

请设置&#34; document_root&#34;如下。

# Before.
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_URL)

# After. change "document_root" from "MEDIA_URL" to "MEDIA_ROOT"
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

答案 1 :(得分:0)