解决Django报错:ImportError: 无法从django.http.multipartparser导入parse_header
问题排查:Django REST Framework导入
parse_header失败 问题描述
应用此前运行正常,近期突然报错,触发点为urls.py第8行导入rest_framework.routers。
报错信息
File "/myproj/myapp/urls.py", line 8, in <module> from rest_framework import routers File "/usr/local/lib/python3.8/site-packages/rest_framework/routers.py", line 22, in <module> from rest_framework import views File "/usr/local/lib/python3.8/site-packages/rest_framework/views.py", line 15, in <module> from rest_framework.request import Request File "/usr/local/lib/python3.8/site-packages/rest_framework/request.py", line 17, in <module> from django.http.multipartparser import parse_header ImportError: cannot import name 'parse_header' from 'django.http.multipartparser' (/usr/local/lib/python3.8/site-packages/django/http/multipartparser.py)
关键细节
urls.py第8行代码:from rest_framework import routers- 已确认
multipartparser.py文件中存在parse_header方法
解决建议
- 版本兼容性检查:Django和DRF版本不匹配是常见原因,比如近期升级了Django但未同步更新DRF。对照DRF官方文档的版本兼容表,调整两者版本至匹配状态。
- 清理模块缓存:删除项目内的
__pycache__文件夹,以及site-packages下的相关缓存文件,重启应用后重试。 - 验证环境一致性:用
pip show django和pip show djangorestframework检查两个包的安装路径,确保处于同一Python环境,避免多环境混淆导致的版本不一致。 - 重新安装依赖:若上述方法无效,卸载并重装对应版本的Django和DRF:
pip uninstall django djangorestframework pip install django==指定版本 djangorestframework==指定版本
内容的提问来源于stack exchange,提问作者Abhishek K M
相关产品推荐
相关产品推荐

