You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

解决使用djangorestframework-jwt时的ugettext导入错误

解决Django REST Framework JWT导入ugettext错误的方案

这个错误的核心原因是**djangorestframework-jwt已停止维护**,它依赖的ugettext函数在Django 4.0及以上版本中被移除(替换为gettext),导致兼容性问题。以下是几种可行的解决办法:

方案1:降级Django到3.x版本(临时应急)

如果项目对Django版本没有强制要求,可以降级到支持ugettext的版本:

pip install django<4.0

降级后重新运行项目即可恢复正常。

方案2:替换为维护中的JWT库(推荐)

官方推荐使用djangorestframework-simplejwt替代已废弃的djangorestframework-jwt,步骤如下:

  1. 卸载旧库:
pip uninstall djangorestframework-jwt
  1. 安装新库:
pip install djangorestframework-simplejwt
  1. 修改导入和路由配置:
    原导入代码:
    from rest_framework_jwt.views import obtain_jwt_token, refresh_jwt_token, verify_jwt_token
    
    替换为:
    from rest_framework_simplejwt.views import TokenObtainPairView, TokenRefreshView, TokenVerifyView
    
    路由配置修改为:
    urlpatterns = [
        # 获取Token(替代obtain_jwt_token)
        path('api/token/', TokenObtainPairView.as_view(), name='token_obtain_pair'),
        # 刷新Token(替代refresh_jwt_token)
        path('api/token/refresh/', TokenRefreshView.as_view(), name='token_refresh'),
        # 验证Token(替代verify_jwt_token)
        path('api/token/verify/', TokenVerifyView.as_view(), name='token_verify'),
    ]
    
  2. 可选:在settings.py中添加JWT配置(自定义过期时间等):
    REST_FRAMEWORK = {
        'DEFAULT_AUTHENTICATION_CLASSES': (
            'rest_framework_simplejwt.authentication.JWTAuthentication',
        ),
    }
    
    from datetime import timedelta
    SIMPLE_JWT = {
        'ACCESS_TOKEN_LIFETIME': timedelta(minutes=5),
        'REFRESH_TOKEN_LIFETIME': timedelta(days=1),
    }
    

方案3:手动修改旧库源码(不推荐)

如果必须使用djangorestframework-jwt,可以手动修改其源码适配高版本Django:

  1. 找到Python环境中rest_framework_jwt的安装目录(通常在site-packages下)
  2. 打开所有用到ugettext的文件,将from django.utils.translation import ugettext替换为from django.utils.translation import gettext as ugettext

注意:此方法仅临时生效,后续更新库会覆盖修改,不建议长期使用。

另外注意:你最初的安装命令有误,正确的djangorestframework-jwt安装命令应为pip install djangorestframework-jwt(中间是下划线,而非空格加-jwt),不过该库已废弃,优先推荐方案2。

内容的提问来源于stack exchange,提问作者KIRAN KUMAR N

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 09:10:26