Django报错:No module named 'rest_framework.simplejwt'
问题根因
INSTALLED_APPS中simplejwt的注册路径写法错误。djangorestframework-simplejwt是独立的第三方包,不属于rest_framework的子模块,你配置的"rest_framework.simplejwt"路径不存在,Django启动加载应用时找不到对应模块就会抛出该报错。
修复操作
- 修改
settings.py的INSTALLED_APPS段,删除错误的"rest_framework.simplejwt"项,替换为正确的注册值"rest_framework_simplejwt",修正后第三方包配置段参考:
# third-party packages "rest_framework", "rest_framework.authtoken", "rest_framework_simplejwt",
- 检查
settings.py顶部是否已导入datetime模块,你在SIMPLE_JWT配置中使用了datetime.timedelta,如果没导入需要补上import datetime,否则后续启动会报名称未定义错误。 - 激活项目虚拟环境执行
pip install djangorestframework-simplejwt,确认依赖安装在当前项目的运行环境中,避免环境隔离导致的包找不到问题。 - 重新执行
python manage.py runserver启动服务即可。
配置校验说明
你当前REST_FRAMEWORK配置段里写的JWT认证类路径"rest_framework_simplejwt.authentication.JWTAuthentication"是正确的,这部分不需要修改。
内容的提问来源于stack exchange,提问作者Saul Feliz
相关产品推荐
相关产品推荐

