使用Flask搭建后端时导入get_raw_jwt报错求助
解决Flask-JWT-Extended导入
get_raw_jwt失败的问题 问题原因
get_raw_jwt是Flask-JWT-Extended旧版本(v4.0.0之前)的API,在v4.0.0及以上版本中已被移除,替换为get_jwt()方法。你的报错是因为当前安装的是新版本库,但代码仍在调用旧API导致的。
解决方法
方法一:适配新版本API(推荐)
- 修改导入语句,将
get_raw_jwt替换为get_jwt:from flask_jwt_extended import JWTManager, jwt_required, create_access_token, get_jwt_identity, get_jwt - 替换代码中所有
get_raw_jwt()的调用为get_jwt():
例如原代码:
修改为:token_data = get_raw_jwt()token_data = get_jwt()get_jwt()返回的内容结构和原get_raw_jwt()一致,无需额外调整逻辑。
方法二:降级到旧版本(不推荐,存在安全风险)
如果暂时不想修改代码,可以指定安装兼容get_raw_jwt的旧版本:
pip install flask-jwt-extended==3.25.0
补充说明
你之前更新flask-jwt-extended后错误变化,正是因为版本升级导致API变更,只需按照新版本的API规范调整代码即可解决问题。
内容的提问来源于stack exchange,提问作者Nishant Taliwal
相关产品推荐
相关产品推荐

