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

如何消除pytest中的RemovedInDjango50Warning警告?

清除Django 5.0弃用警告(RemovedInDjango50Warning)的方法

警告内容:

RemovedInDjango50Warning: The USE_L10N setting is deprecated. Starting with Django 5.0, localized formatting of data will always be enabled. For example Django will display numbers and dates using the format of the current locale.
warnings.warn(USE_L10N_DEPRECATED_MSG, RemovedInDjango50Warning)

警告原因:

Django 5.0开始会默认启用本地化数据格式化,USE_L10N这个配置项已被弃用,只要项目里还保留该配置,跑测试时就会触发这个警告。

解决办法:

  • 移除项目配置中的USE_L10N
    打开项目的settings.py文件,找到USE_L10N = True/False这一行,直接删掉或者用#注释掉即可。Django 5.0及后续版本会自动启用本地化格式化,无需手动配置该参数。

  • 在pytest中过滤指定警告
    如果暂时不想修改项目配置,可以通过pytest配置直接过滤这个警告:

    1. 使用pytest.ini配置:在项目根目录的pytest.ini中添加以下内容
      [pytest]
      filterwarnings =
          ignore::RemovedInDjango50Warning
      
    2. 使用conftest.py配置:在项目根目录的conftest.py中添加这段代码
      def pytest_configure(config):
          config.addinivalue_line(
              "filterwarnings",
              "ignore::RemovedInDjango50Warning",
          )
      
  • 升级项目适配Django 5.0规范
    如果计划将项目升级到Django 5.0,建议全面检查项目中依赖USE_L10N的代码,确保移除该配置后,日期、数字的本地化展示逻辑正常运行。之前依赖USE_L10N=False关闭本地化的场景,需要调整为其他方式控制格式化。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 03:50:38