2012-04-21 109 views
0

我正在实现Django部署,并在我的设置文件中具有以下逻辑。如何永久性地向os.environ添加密钥?

if 'DEPLOYMENT_TYPE' in os.environ: 
    DEPLOYMENT = os.environ['DEPLOYMENT_TYPE'].upper() 

因此,我希望能够设置在os.environ的“DEPLOYMENT_TYPE”键在每台计算机上。我曾尝试在一个单独的shell:

os.putenv('DEPLOYMENT_TYPE', ...) 
os.environ['DEPLOYMENT_TYPE'] = ... 

然而,这些不工作,因为我猜当OS是进口os.environ被填充。因此,以每台计算机为基础设置“DEPLOYMENT_TYPE”的最佳方法是什么?我不能在我的设置文件中粘贴该行。

回答

2

整点os.environ是它从运行它的shell环境初始化的。所以你应该在运行部署的用户的环境设置 - 即bash_profile或其他 - 中设置它。

+0

太棒了,这让很多感觉! bash_profile中的行会是什么样子的? – ArKi 2012-04-21 19:31:10

+0

'export SOMEVAR = somevalue' – 2012-04-21 19:37:08

+0

非常感谢你们! – ArKi 2012-04-21 19:39:22

1

您可以使用SetEnv within Apache来处理这个问题,假设它只适用于您的Django Web环境。