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

升级Django至5.2.7引发rest_framework_simplejwt导入错误:无法导入utc

解决Django 5.2.7中rest_framework_simplejwt导入'utc'失败的问题

问题原因

Django 5.0及以上版本已移除django.utils.timezone.utc这个API,而你当前使用的djangorestframework_simplejwt==5.2.0版本仍依赖该废弃接口,导致执行python manage.py check时触发导入错误。

解决方案

  • 升级djangorestframework_simplejwt到兼容版本

    1. 修改requirements.txt中的版本号,将djangorestframework_simplejwt==5.2.0替换为:
      djangorestframework_simplejwt>=5.3.0
      
      (5.3.0及以上版本已适配Django 5.x的时区API变更)
    2. 执行命令更新依赖:
      pip install --upgrade djangorestframework_simplejwt
      
  • 验证修复效果
    重新运行python manage.py check,确认错误提示消失;也可以启动项目测试JWT认证功能是否正常工作。

临时替代方案(不推荐)

如果暂时无法升级依赖,可以手动修改rest_framework_simplejwt源码中的导入语句:
找到所有from django.utils.timezone import utc的代码行,替换为:

from datetime import UTC
# 或者使用zoneinfo(Python 3.9+支持)
import zoneinfo
utc = zoneinfo.ZoneInfo("UTC")

但这种方法会在后续依赖更新时被覆盖,仅作为临时应急使用,优先推荐升级版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 02:22:32