导入错误:从django.core.handlers.wsgi导入STATUS_CODE_TEXT
我是超级新的django和python,我无法将django rest框架集成到我的项目中。导入错误:从django.core.handlers.wsgi导入STATUS_CODE_TEXT
我有我的模型,串行和API才能,我想,但是当我尝试运行的服务器我得到的错误的字符串:
(PyDev的)C:\用户\ Pydev的\ SMRT >蟒蛇manage.py运行服务器 执行系统检查...
Unhandled exception in thread started by <function wrapper at 0x0000000003FFD278
>
Traceback (most recent call last):
...
File "C:\Python27\Lib\site-packages\rest_framework\generics.py", line 8, in <m
odule>
from rest_framework import views, mixins
File "C:\Python27\Lib\site-packages\rest_framework\views.py", line 14, in <mod
ule>
from rest_framework.response import Response
File "C:\Python27\Lib\site-packages\rest_framework\response.py", line 8, in <m
odule>
from django.core.handlers.wsgi import STATUS_CODE_TEXT
ImportError: cannot import name STATUS_CODE_TEXT
任何人对如何解决这一问题还是什么,我做错了的想法?谢谢!
- 蟒蛇:2.7.14
- Django的:1.11.6
- REST框架:3.1.1
- 的virtualenv:12.1.1
wpercy正确地指出,STATUS_CODE_TEXT一直从Django中删除,但我没有明确地从我的代码中的任何地方调用它。我想这意味着它在rest_framework.generics代码中的某处?
是否有可能我错误地使用了rest_framework并需要更新我的方法?
编辑:我建从无到有以下Django的REST框架教程一个全新的项目,我能够返回JSON对象,而不这里所描述的错误就好了......
编辑:这是专门似乎是呼叫的结果包括:
rest_framework.generics import ListAPIView
编辑: 基于wpercy的建议我通过追溯显得更加谨慎,意识到参考在我的根python27 \ LIB \站点包指向\ rest_framework \响应如上所示,第8行.py发现:
from django.core.handlers.wsgi import STATUS_CODE_TEXT
再上线81:
return STATUS_CODE_TEXT.get(self.status_code, '')
我该如何解决这个问题?
编辑: 我认为wpercy &评议贴在下面
Link to relevant ticket链接上找到。 Jpadilla写道:
综上所述,我们也许应该能在response.py做一些事情,如:
from django.utils.six.moves.http_client import responses
...
return responses.get(self.status_code, '')
我放弃了在这一建议是在github一个封闭的项目:
ticket for django-rest-framework Status code
,服务器将立即运行。我不确定我是如何结束这些旧代码的?也许我应该卸载并重新安装django-rest-framework以确保我拥有最新版本,但是放弃此代码解决了问题。
编辑: 根据我从另一个问题得到答复:'Options' object has no attribute 'get_all_related_objects' but I'm already using Django 1.11 事实证明,我是用旧版本的REST框架的使用Django的新版本。请参阅下面标记的答案
此错误是因为django-rest-framework
版本你使用(V3.1.1)不支持Django的1.11版本。 Support for Django v1.11 was not added in django-rest-framework
until version 3.7。
升级django-rest-framework
使用PIP:[不存在任何更多] pip install -U djangorestframework
再次感谢@anupsabraham!这让我疯狂! –
很酷。很高兴我能够提供帮助。 :) – anupsabraham
django.core.handlers.wsgi.STATUS_CODE_TEXT
已在Django 1.9中删除。
django.http.responses.REASON_PHRASES和django.core.handlers.wsgi.STATUS_CODE_TEXT已被删除。使用Python的STDLIB代替:http.client.responses为Python 3和httplib.responses为Python 2
非常感谢!我再次对这个框架非常陌生。我如何去使用stdlib而不是wsgi?我只是修改settings.py指向httplib.responses? –
我没有在我的代码中明确地调用django.core.handlers.wsgi.STATUS_CODE_TEXT,我如何在项目中找到对它的引用?或者我不在正确的轨道上? –
@SumGuy traceback会告诉你哪个文件是import语句。请发布整个traceback。 – wpercy
(https://github.com/encode/django-rest-framework/issues/2763) – user2357112
我看到现在,但我没有在我的代码中的任何地方使用wsgi.STATUS_CODE_TEXT(故意)...我可以在哪里查找对它的引用? –