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

Django is not displaying the image via /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'),
]

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

请设置"document_root"如下。

# 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)

在此处查看答案