ImportError: Не удалось импортировать 'authentication.backends.JWTAuthentication' для настройки API 'DEFAULT_AUTHENTICATION_CLASSES'

Я следую примеру, приведенному здесь : https://www.django-rest-framework.org/api-guide/settings/#accessing-settings. Как только я открываю оболочку django, используя

python manage.py shell

и выполните следующую команду

from rest_framework.settings import api_settings
print(api_settings.DEFAULT_AUTHENTICATION_CLASSES)

Я получаю следующую ошибку

Traceback (most recent call last):
  File "C:\django_project\.venv\lib\site-packages\rest_framework\settings.py", line 177, in import_from_string
    return import_string(val)
  File "C:\django_project\.venv\lib\site-packages\django\utils\module_loading.py", line 30, in import_string
    return cached_import(module_path, class_name)
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "C:\django_project\.venv\lib\site-packages\rest_framework\settings.py", line 225, in __getattr__
    val = perform_import(val, attr)
  File "C:\django_project\.venv\lib\site-packages\rest_framework\settings.py", line 168, in perform_import
    return [import_from_string(item, setting_name) for item in val]
  File "C:\django_project\.venv\lib\site-packages\rest_framework\settings.py", line 168, in <listcomp>
    return [import_from_string(item, setting_name) for item in val]
  File "C:\django_project\.venv\lib\site-packages\rest_framework\settings.py", line 180, in import_from_string
    raise ImportError(msg)
ImportError: Could not import 'authentication.backends.JWTAuthentication' for API setting 'DEFAULT_AUTHENTICATION_CLASSES'. ModuleNotFoundError: No module named 'authentication.backends'

Кто-то знает, что происходит?

P.S: У меня есть очень большой проект django, который не работает с той же ошибкой, поэтому я указываю только на основную настройку, которая не работает в этом примере.

Последняя строка в сообщении очень наглядно объясняет, почему происходит ошибка: ModuleNotFoundError: No module named 'authentication.backends' В DRF нет файла authentication/backends.py. См. репозиторий Github DRF. Во-вторых, DRF не предлагает аутентификацию JWT из коробки. Она поставляется с TokenAuthentication. Пожалуйста, смотрите https://github.com/encode/django-rest-framework/blob/master/rest_framework/authentication.py#L151 для подробностей.

Вернуться на верх