【问题标题】:"GET /media/img/image.png HTTP/1.1" 404 2575"GET /media/img/image.png HTTP/1.1" 404 2575
【发布时间】:2020-08-05 08:14:22
【问题描述】:

查看页面时,图像未加载。图片是通过Django-admin上传的 HTML模板加载图片的部分是:

Home.html

<img class="card-img-top" src="{{ product.image.url }}">

settings.py

STATIC_URL = '/static/'

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

终端显示的错误:

未找到:/media/img/sandstone.png [00/Aug/0000 00:00:00] "GET /media/img/image.png HTTP/1.1" 404 2581

【问题讨论】:

标签: html django django-admin


【解决方案1】:

很可能,django 未配置为提供用户上传的文件。要为他们服务,请将以下内容添加到 urls.py 文件:

from django.conf import settings
from django.conf.urls.static import static

if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

但是,请不要说它只适合本地开发,不适用于生产。相关文档:

【讨论】:

  • 感谢 Eugene,为 MEDIA_ROOT 添加 urlpatterns 工作。
【解决方案2】:

将以下内容添加到 urls.py 达到了目的:

from django.conf import settings
from django.conf.urls.static import static

if settings.DEBUG:
 urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
 urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

【讨论】:

    猜你喜欢
    • 2020-03-03
    • 2016-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-09
    • 2020-12-28
    • 1970-01-01
    相关资源
    最近更新 更多