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

从GitHub部署到AWS EBS的Django项目如何读取.env环境变量?

解决AWS EBS部署Django时无法读取环境变量的问题

问题原因

本地运行正常是因为.env文件存在,而部署到EBS时,由于.env被加入.gitignore未推送到GitHub,EBS服务器上没有这个文件,导致python-decouple找不到配置的环境变量,抛出UndefinedValueError。

推荐解决方案:使用AWS EBS环境属性(安全便捷)

直接在EBS控制台配置环境变量,无需依赖.env文件,步骤如下:

  • 登录AWS控制台,进入Elastic Beanstalk控制台,找到你的应用环境
  • 切换到「配置」标签页,选择「软件」配置项
  • 滚动到「环境属性」区域,点击「编辑」
  • 添加键值对:键填MY_SECRET_KEY,值填入你本地.env文件中对应的密钥内容
  • 保存配置,EBS会自动重启应用,此时python-decouple会自动读取系统环境变量,无需.env即可正常获取SECRET_KEY

额外注意

你的settings.py代码存在语法错误,需去掉SECRET_KEY两侧的引号,正确写法:

from decouple import config
SECRET_KEY = config("MY_SECRET_KEY")

不推荐方案(仅作参考)

如果非要在EBS上使用.env文件,可通过EB CLI将.env文件加入部署包后上传,但这种方式会增加敏感信息泄露风险,不建议采用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 22:35:16