无法为API设置'DEFAULT_AUTHENTICATION_CLASSES'导入'oauth2_provider.ext.rest_framework.OAuth2Authentication'

Aka*_*mee 16 django importerror oauth-2.0 django-rest-framework django-oauth

这是我第一次使用django rest和Django Oauth工具包我正在遵循本教程 oauth2-with-django-rest-framework 但是当我运行python manage.py migrate时,我收到以下错误:

ImportError:无法为API设置'DEFAULT_AUTHENTICATION_CLASSES'导入'oauth2_provider.ext.rest_framework.OAuth2Authentication'.ImportError:没有名为ext.rest_framework的模块.

出了什么问题?我应该安装另一个模块吗?我的虚拟环境包含:

CERTIFI == 2017年4月17日

chardet的== 3.0.4

Django的== 1.11.2

Django的扩展== 1.8.1

Django的OAuth的工具== 1.0.0

djangorestframework == 3.6.3

IDNA == 2.5

oauthlib == 2.0.2

pytz == 2017.2

请求== 2.18.1

6 == 1.10.0

Unidecode == 0.4.21

urllib3 == 1.21.1

Ala*_*air 44

看起来好像oath2_provider.ext 已经搬到oauth_provider.contrib.您可以尝试安装旧版本django-oauth-toolkit,或尝试更改以下值DEFAULT_AUTHENTICATION_CLASSES:

'oauth2_provider.ext.rest_framework.OAuth2Authentication',
Run Code Online (Sandbox Code Playgroud)

至:

'oauth2_provider.contrib.rest_framework.OAuth2Authentication',
Run Code Online (Sandbox Code Playgroud)

请注意,该教程已有几年历史,您可能会发现其他问题.

  • @RohitSthapit'他们'可能永远不会看到这个评论.而不是在这里抱怨,为什么不创建一个带有更新指令的拉取请求. (2认同)