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

修改.env环境变量值后Django项目未加载新值的问题

排查Django读取.env旧值的问题
  • 重启Django服务:Django启动时会一次性加载settings.py及对应.env配置,修改.env后必须重启服务(不管是本地runserver还是生产环境的uwsgi/gunicorn),才会重新读取新配置。
  • 确认.env文件修改已保存且路径正确:直接打开项目根目录下的.env文件,确认DEFAULT_OTP=2952已保存;同时验证BASE_DIR指向的是项目根目录——可以在settings.py中临时添加print(BASE_DIR),重启服务后查看输出路径,确保读取的是目标.env文件。
  • 强制environ覆盖旧值:environ.Env.read_env默认会缓存已加载的环境变量,添加overwrite=True参数强制覆盖旧值:
    environ.Env.read_env(env_file=f"{BASE_DIR}/.env", overwrite=True)
    
  • 排查缓存问题:
    • 关闭并重新打开IDE,避免IDE缓存旧文件内容;
    • 用命令行直接查看文件内容(Linux/macOS执行cat .env,Windows执行type .env),确认系统读取到的是最新值。
  • 检查系统环境变量覆盖:系统级环境变量优先级高于.env文件,执行对应命令查看是否存在同名变量:
    • Linux/macOS:echo $DEFAULT_OTP
    • Windows:echo %DEFAULT_OTP%
      如果输出2951,说明系统环境变量覆盖了.env的配置,需要删除或修改系统变量。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 06:03:14