Django2.0.2后台添加Job时报'tuple'不支持缓冲区接口错误求助
解决Django Admin添加Job时的TypeError问题
我一眼就发现了问题的核心——你在配置MEDIA_ROOT时末尾多写了一个逗号,这让它变成了一个tuple(元组),而Django需要的是一个字符串格式的路径,这就是触发'tuple' does not support the buffer interface错误的直接原因。
具体修复步骤:
修正
MEDIA_ROOT配置
打开项目的settings.py,把MEDIA_ROOT那行末尾的逗号去掉:MEDIA_ROOT = os.path.join(BASE_DIR, 'media') # 注意:删除原来行尾的逗号,避免将路径转为元组补全必要的配套配置(避免后续问题)
- 确保安装了图片处理依赖
Pillow,Django的ImageField必须依赖它才能正常工作:pip install pillow - 在项目根目录的
urls.py中添加媒体文件的访问路由(仅开发环境适用):from django.conf import settings from django.conf.urls.static import static urlpatterns = [ path('admin/', admin.site.urls), # 你的其他路由配置 ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
- 确保安装了图片处理依赖
重启开发服务器
修改配置后,一定要重启Django开发服务器,让新的配置生效。
验证修复效果
现在重新访问/admin/jobs/job/add/,应该就能正常上传图片、添加Job内容了。如果仍有问题,可以检查media目录是否存在(Django会自动创建,手动创建也可,确保目录有读写权限)。
内容的提问来源于stack exchange,提问作者perpetualdarkness
相关产品推荐
相关产品推荐

