You need to enable JavaScript to run this app. Django项目访问用户头像触发404 Page Not Found错误咨询
优惠活动
大模型
产品
解决方案
定价
更多

Django项目访问用户头像触发404 Page Not Found错误咨询

报错核心原因

你在项目根路由的末尾,仅通过static()方法绑定了静态资源(static)的本地服务规则,没有配置media目录对应的访问路由,所有携带/media/前缀的请求都无法匹配现有路由规则,最终触发404报错。

具体修改方法
  1. 打开项目根目录下的urls.py文件
  2. 定位到文件末尾的路由拼接逻辑,你当前的实现为:
    urlpatterns = [
        # 原有路由条目保持不变
    ] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
    
  3. 在现有拼接逻辑上,补充media目录对应的服务映射,最终修改为:
    urlpatterns = [
        # 原有路由条目完全保留
    ] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) \
      + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
    
相关注意事项
  • 上述media路由配置仅适配本地开发调试场景(要求settings.py中DEBUG = True);生产环境不要依赖Django本身处理media资源请求,需交由Web服务器、对象存储或CDN完成资源分发。
  • 配置修改完成后,重启Django开发服务,再访问/media/前缀的资源路径即可正常匹配加载。
  • 请核对本地文件存放路径是否和配置匹配:按照当前settings规则,默认头像default.jpg需直接放置在项目根下的media/目录中,用户上传的头像文件存储在media/Profile_pics/路径下,与模型字段定义的default='default.jpg'、upload_to='Profile_pics'要求完全一致,路径正确且路由配对后即可正常加载。

内容的提问来源于stack exchange,提问作者Vishal Patil

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.23 15:06:04