已完成配置仍无法导入rest_framework_simplejwt视图问题求助
解决djangorestframework-simplejwt导入失败问题
问题背景
已安装以下依赖:
asgiref==3.5.2 backports.zoneinfo==0.2.1 Django==4.0.5 djangorestframework==3.13.1 djangorestframework-simplejwt==5.2.0 PyJWT==2.5.0 pytz==2022.2.1 sqlparse==0.4.2
并在settings.py中配置:
REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASS': ['rest_framework_simplejwt.authentication.JWTAuthentication',], }
执行from rest_framework_simplejwt.views import TokenObtainPairView, TokenRefreshView时,导入无法解析。
解决方案
确认虚拟环境激活状态
运行pip list查看是否存在djangorestframework-simplejwt,版本是否为5.2.0。如果用了虚拟环境,确保当前终端已激活对应环境,避免Python调用全局环境的包。修正settings.py配置键名
配置中的DEFAULT_AUTHENTICATION_CLASS是错误的,正确键名为复数形式DEFAULT_AUTHENTICATION_CLASSES,修正后:REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': [ 'rest_framework_simplejwt.authentication.JWTAuthentication', ], }添加包到INSTALLED_APPS
将rest_framework_simplejwt加入settings.py的INSTALLED_APPS,部分IDE会因为未注册包导致识别异常:INSTALLED_APPS = [ # 其他已有应用 'rest_framework', 'rest_framework_simplejwt', ]刷新IDE缓存
- PyCharm:依次点击
File → Invalidate Caches...,重启IDE - VS Code:打开命令面板(Ctrl+Shift+P),选择
Python: Select Interpreter重新指定虚拟环境,再重启窗口
- PyCharm:依次点击
重新安装依赖
若以上步骤无效,卸载后重新安装指定版本:pip uninstall djangorestframework-simplejwt -y pip install djangorestframework-simplejwt==5.2.0
内容的提问来源于stack exchange,提问作者Piyush Ranjan Chaudhary
相关产品推荐
相关产品推荐

