如何解决 django:导入错误:无法从“django.http.multipartparser”导入名称“parse_header”

Abh*_*K M 9 python django django-rest-framework

我的应用程序在几天前运行良好,但现在突然看到此错误,不确定这意味着什么,请帮忙。

错误:

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)
Run Code Online (Sandbox Code Playgroud)

我的 urls.py 第 8 行是:

from rest_framework import routers
Run Code Online (Sandbox Code Playgroud)

我可以在 multipartparser.py 文件 PFA 中看到 parse_header 方法

多部分解析器文件

Ahm*_*man 14

在我看来,这可能是由两件事造成的:

  1. 安装Django本身出现问题,在这种情况下,我建议卸载然后Django使用重新安装pip install django
  2. Django和版本不匹配djangorestframework,检查这两个包的版本是否兼容。

请找到下面所附发行说明的文档链接:

https://www.django-rest-framework.org/community/release-notes/

  • 好提示,这应该标记为答案。升级到 Django 4.2 后出现此错误。pip install -U djangorestframework 为我修复了它(3.13.1 --&gt; 3.14.0 ) (6认同)