0

我正在实现 Django 部署,并且在我的设置文件中有以下逻辑。

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

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

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

但是,这些不起作用,因为我猜 os.environ 在导入 os 时会被填充。因此,在每台计算机上设置“DEPLOYMENT_TYPE”的最佳方法是什么?我不能只在我的设置文件中坚持这一行。

4

2 回答 2

2

关键os.environ在于它是从运行它的 shell 环境初始化的。所以你应该在bash_profile运行部署的用户的环境设置中设置它 - 即或其他任何东西。

于 2012-04-21T19:17:41.210 回答
1

您可以在 Apache 中使用 SetEnv来处理此问题,假设它仅适用于您的 Django Web 环境。

于 2012-04-21T19:17:06.453 回答