我遵循这里给出的例子:https://www.django-rest-framework.org/api-guide/settings/#accessing-settings。一旦我打开django shell,我将使用
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项目,它失败时也有同样的错误,因此我只指向这个示例中失败的主设置。
发布于 2022-02-22 15:56:29
在解释错误发生的原因时,消息中的最后一行非常明显:ModuleNotFoundError: No module named 'authentication.backends'中没有身份验证/backends.py文件。参见DRF的Github储存库。第二,DRF不提供即时JWT身份验证。它确实伴随着TokenAuthentication。详情请见框架/认证#L 151。
https://stackoverflow.com/questions/71219595
复制相似问题