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

Django4.0中无法使用django-rest-auth:ugettext_lazy导入错误求助

Django4.0与django-rest-auth兼容性问题解答

django-rest-auth==0.9.5无法直接兼容Django4.0,原因是该库代码中使用了Django4.0已移除的ugettext_lazy(Django4.0统一改用gettext_lazy),且django-rest-auth官方早已停止维护(最后版本更新停留在2019年),不会推出适配Django4.0的修复版本。

解决办法

  • 推荐方案:迁移到dj-rest-auth
    dj-rest-auth是django-rest-auth的官方维护分支,完全适配Django4.0+、最新版DRF以及django-allauth,API设计与原库几乎一致,迁移成本极低:

    1. 卸载旧库:pip uninstall django-rest-auth
    2. 安装新库:pip install dj-rest-auth
    3. 修改INSTALLED_APPS,将'rest_auth'替换为'dj_rest_auth'
    4. 调整URL配置(若有):将原path('rest-auth/', include('rest_auth.urls'))改为path('rest-auth/', include('dj_rest_auth.urls'))
  • 临时应急修复(不推荐)
    若暂时无法迁移,可在项目settings.py的最顶部添加以下代码,临时兼容ugettext_lazy的导入:

    from django.utils.translation import gettext_lazy as ugettext_lazy
    

    注意:此方法仅能解决当前导入错误,后续可能出现更多Django4.0不兼容的API问题,不建议长期使用。

另外,需确保依赖的django-allauth版本兼容Django4.0,建议安装最新稳定版。

内容的提问来源于stack exchange,提问作者Masaki93

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 15:30:57