Подтвердить что ты не робот

Не удалось импортировать 'oauth2_provider.ext.rest_framework.OAuth2Authentication' для настройки API 'DEFAULT_AUTHENTICATION_CLASSES'

Это первый раз, когда я работаю с django rest и инструментами Django Oauth Я следую этому руководству oauth2-with-django-rest-framework Но когда я запускаю python manage.py migrate, я получаю следующую ошибку:

ImportError: не удалось импортировать 'oauth2_provider.ext.rest_framework.OAuth2Authentication' для настройки API 'DEFAULT_AUTHENTICATION_CLASSES'. ImportError: Нет модуля с именем ext.rest_framework.

Что происходит не так? есть ли еще один модуль, который я должен установить? моя виртуальная среда содержит:

certifi == 2017.4.17

chardet == 3.0.4

Джанго == 1.11.2

Джанго-расширения == 1.8.1

Джанго-OAuth-инструментарий == 1.0.0

djangorestframework == 3.6.3

IDNA == 2.5

oauthlib == 2.0.2

pytz == 2017,2

запросы == 2.18.1

шесть == 1.10.0

Unidecode == 0.4.21

urllib3 == 1.21.1

4b9b3361

Ответ 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',

Обратите внимание, что учебник - пару лет, вы можете найти другие проблемы, подобные этому.

Ответ 2

Я столкнулся с той же проблемой. В моем файле настроек DEFAULT_AUTHENTICATION_CLASSES уже было 'oauth2_provider.contrib.rest_framework.OAuth2Authentication',

Я только что установил старую версию, как @Alasdair спросить. моя проблема. решена. Спасибо