我正在使用django和virtualenvwrapper。我的目标是根据12Factor应用程序建议(http://12factor.net)从设置文件中删除所有敏感信息,并最终部署到heroku。在本地测试时,为了实现这一点,我创建了一个带有不同变量值(如SECRET_KEY)的.env文件。我去了我的virtualenv目录,并添加以下行postactivate脚本:Python(django)环境变量
source .env
每当我开始我的虚拟ENV一个项目又名workon PROJECT_NAME,从.ENV环境变量都可以,如果我从终端回声
$ echo $SECRET_KEY
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
然而,当我尝试从蟒蛇访问这些变量,它们是不可用
>>> import os
>>> os.environ.get('SECRET_KEY')
>>>
什么是蟒蛇到正确的方法访问存储在.env文件中的环境变量?
.ENV文件:
WEB_CONCURRENCY=2
SECRET_KEY='XXXXXXXXXXXX'
DEBUG=True
你是'export'' SECRET_KEY'还是只定义'SECRET_KEY = xxxxxxx'? –
我在.env里面定义了SECRET_KEY,并且在每次运行“workon project_name”时都会找到.env文件。我从来没有明确地将它或任何内容导出到.env文件中。 – alexolivas
不,我的意思是你在'.env'文件中写的是什么。你有'export SECRET_KEY = xxxxx'或'SECRET_KEY = xxxxxxx'吗? –