Не удалось импортировать 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

django-extension == 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

шесть == 1.10.0

Unidecode == 0.4.21

urllib3 == 1.21.1


person Akamee    schedule 11.07.2017    source источник
comment
пожалуйста, покажите свой файл настроек   -  person Exprator    schedule 11.07.2017
comment
файлы настроек содержат: INSTALLED_APPS = ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django. contrib.staticfiles ',' business ',' rest_framework ',' django_extensions ',' oauth2_provider ',] для установленных AP и REST_FRAMEWORK = {' DEFAULT_AUTHENTICATION_CLASSES ': (' oauth2_provider.WorkAxt.OAuth2_provider.workoxt.Response_frame_frame_frame_provider.workaxt. остальные настройки   -  person Akamee    schedule 11.07.2017


Ответы (2)


Похоже, oath2_provider.ext перемещен в oauth_provider.contrib. Вы можете попробовать установить старую версию django-oauth-toolkit или попробовать изменить значение в DEFAULT_AUTHENTICATION_CLASSES с:

'oauth2_provider.ext.rest_framework.OAuth2Authentication',

to:

'oauth2_provider.contrib.rest_framework.OAuth2Authentication',

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

person Alasdair    schedule 11.07.2017
comment
Им следует обновить свою документацию django-oauth-toolkit.readthedocs .io / en / latest / rest-framework / - person Rohit Sthapit; 31.01.2018
comment
@RohitSthapit "они" могут никогда не увидеть этот комментарий. Вместо того, чтобы жаловаться здесь, почему бы не создать запрос на перенос с обновленными инструкциями. - person Alasdair; 31.01.2018

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

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

person sakulachi8    schedule 02.05.2019