You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django模板及后台管理页面图片无法显示问题求助

Django模板及Admin后台无法显示Media图片的解决方案

问题分析

从你提供的配置和现象来看,核心问题是开发环境下未为Media文件配置访问路由,导致/media/路径的请求无法被Django处理,返回404。此外还需验证文件实际存储路径是否正确。

解决步骤

1. 在项目根URL配置中添加Media路由

打开项目根目录下的urls.py,补充以下代码:

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

urlpatterns = [
    # 保留已有的其他路由(比如admin、业务路由)
    path('admin/', admin.site.urls),
    # ... 其他路由配置
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

注意:该配置仅适用于开发环境(DEBUG=True时),生产环境需通过Nginx/Apache等服务器处理Media静态资源请求。

2. 验证MEDIA_ROOT路径正确性

在Django Shell中执行命令确认实际路径:

python manage.py shell
>>> from django.conf import settings
>>> print(settings.MEDIA_ROOT)

检查输出路径是否与本地media目录完全匹配,同时确认图片已上传至该路径下的images/子目录。

3. 确认图片文件实际存在

手动查看MEDIA_ROOT/images/目录,确认IMG-20220901-WA0009.jpg是否存在。若文件缺失,排查以下问题:

  • 是否安装Pillow依赖库:执行pip install pillow(Django处理图片需依赖该库)
  • 检查Admin后台上传图片时是否有报错提示

4. 模板中增加空值判断

避免data.image1为空时模板报错,修改模板代码:

{% if data.image1 %}
    <img src="{{ data.image1.url }}">
{% endif %}

验证修改

完成配置后重启Django开发服务器,再次访问模板页面和Admin后台的图片链接,即可正常显示图片。

内容的提问来源于stack exchange,提问作者Islam Fahmy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 09:45:41