这是我第一次使用 django rest 和 Django Oauth 工具包 我正在遵循本教程 OAuth2-with-Django-rest-framework 但是当我运行python manage.py 迁移时,出现以下错误:
导入错误:无法导入 'oauth2_provider.ext.rest_framework。用于 API 设置"DEFAULT_AUTHENTICATION_CLASSES"的 OAuth2Authentication"。导入错误:没有名为 ext.rest_framework 的模块。
出了什么问题?我应该安装另一个模块吗? 我的虚拟环境包含:
认证==2017.4.17
查德特==3.0.4
姜戈==1.11.2
django-extensions==1.8.1
Django-oauth-toolkit==1.0.0
Djangorest框架==3.6.3
IDNA==2.5
oauthlib==2.0.2
pytz==2017.2
请求==2.18.1
六==1.10.0
统一解码==0.4.21
urllib3==1.21.1
看起来oath2_provider.ext
已被移至oauth_provider.contrib
.您可以尝试安装旧版本的django-oauth-toolkit
,或尝试将DEFAULT_AUTHENTICATION_CLASSES
中的值从:
'oauth2_provider.ext.rest_framework.OAuth2Authentication',
自:
'oauth2_provider.contrib.rest_framework.OAuth2Authentication',
请注意,本教程已有几年的历史,您可能会发现其他类似的问题。
我遇到了同样的问题。在我的设置文件中,DEFAULT_AUTHENTICATION_CLASSES已经'oauth2_provider.contrib.rest_framework.OAuth2Authentication',
我只是按照@Alasdair的要求安装了旧版本。我的问题解决了。谢谢