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

Django后台通过Customer模型添加头像触发_getfullpathname类型报错

问题根因与修复方案

报错的核心原因是settings.py中MEDIA_ROOT的配置不符合Django规则:

Django要求MEDIA_ROOT为单个字符串或Path类型的路径,用于指定用户上传媒体文件的本地存储根目录。你当前的配置给路径套上了方括号,将其变成了列表类型,调用路径处理接口时就触发了类型不匹配的报错。

修复步骤

  1. 修改settings.py中的MEDIA_ROOT配置,去掉外层的方括号:
# 修正前(错误)
MEDIA_ROOT = [BASE_DIR/'static/images']

# 修正后(正确)
MEDIA_ROOT = BASE_DIR/'static/images'
  1. 补充必要的前置检查:
  • 确认项目根目录下存在static/images文件夹,不存在则手动创建,避免上传时触发路径不存在的报错
  • 若未安装图片处理依赖,执行pip install pillow安装ImageField所需的依赖库
  • 若需要在前端模板中直接访问上传的头像,需要在项目主urls.py中添加媒体文件路由配置,示例如下:
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    # 你原有所有的路由配置保留在这里
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 07:39:03