无法为 API 设置 'DEFAULT_AUTHENTICATION_CLASSES' 导入 'rest_framework_simplejwt.auth.JWTAuthentication'
Could not import 'rest_framework_simplejwt.auth.JWTAuthentication' for API setting 'DEFAULT_AUTHENTICATION_CLASSES'
我正在尝试使用 Django 制作 REST APIs。我已经使用 pip
安装了 djangorestframework & djangorestframework-simplejwt
pip install djangorestframework
pip install djangorestframework-simplejwt
每当我从 rest_framework 导入任何东西时,它都会给我这个错误
ImportError:无法为 API 设置 'DEFAULT_AUTHENTICATION_CLASSES' 导入 'rest_framework_simplejwt.auth.JWTAuthentication'。 ModuleNotFoundError:没有名为 'rest_framework_simplejwt.auth'
的模块
Requirement.txt 文件:
djangorestframework==3.12.4
djangorestframework-simplejwt==4.7.2
Setting.py 文件:
INSTALLED_APPS = [
"django.contrib.admin",
"django.contrib.auth",
"django.contrib.contenttypes",
"django.contrib.sessions",
"django.contrib.messages",
"django.contrib.staticfiles",
'rest_framework',
'rest_framework_simplejwt',
'rest_framework_simplejwt.token_blacklist',
"config",
"response",
"utils",
"authentication",
]
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework_simplejwt.auth.JWTAuthentication',
],
'DEFAULT_PERMISSION_CLASSES': [
'rest_framework.permissions.IsAuthenticated',
]
}
SIMPLE_JWT = {
'ACCESS_TOKEN_LIFETIME': timedelta(days=1),
'REFRESH_TOKEN_LIFETIME': timedelta(days=5),
}
将 auth
更改为 authentication
。所以应该是:
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework_simplejwt.authentication.JWTAuthentication',
]
...
我正在尝试使用 Django 制作 REST APIs。我已经使用 pip
安装了 djangorestframework & djangorestframework-simplejwtpip install djangorestframework
pip install djangorestframework-simplejwt
每当我从 rest_framework 导入任何东西时,它都会给我这个错误
ImportError:无法为 API 设置 'DEFAULT_AUTHENTICATION_CLASSES' 导入 'rest_framework_simplejwt.auth.JWTAuthentication'。 ModuleNotFoundError:没有名为 'rest_framework_simplejwt.auth'
的模块Requirement.txt 文件:
djangorestframework==3.12.4
djangorestframework-simplejwt==4.7.2
Setting.py 文件:
INSTALLED_APPS = [
"django.contrib.admin",
"django.contrib.auth",
"django.contrib.contenttypes",
"django.contrib.sessions",
"django.contrib.messages",
"django.contrib.staticfiles",
'rest_framework',
'rest_framework_simplejwt',
'rest_framework_simplejwt.token_blacklist',
"config",
"response",
"utils",
"authentication",
]
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework_simplejwt.auth.JWTAuthentication',
],
'DEFAULT_PERMISSION_CLASSES': [
'rest_framework.permissions.IsAuthenticated',
]
}
SIMPLE_JWT = {
'ACCESS_TOKEN_LIFETIME': timedelta(days=1),
'REFRESH_TOKEN_LIFETIME': timedelta(days=5),
}
将 auth
更改为 authentication
。所以应该是:
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework_simplejwt.authentication.JWTAuthentication',
]
...