我有一个运行在Ubuntu 16.04上的Nginx和Gunicorn的Django项目。 我正在尝试设置一个环境变量以便为生产加载不同的设置文件。我已经尝试过以下几点,以不占上风。Ubuntu为Django设置环境变量
在etc/environment中我添加了我的变量。该文件看起来像这样,
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
PRODUCTION="Production_Variable"
该变量的值是不相关的。
当我运行printenv时,我可以看到这个变量实际上是存在的! 但是我的django项目仍然没有“看到”它。
try:
if 'PRODUCTION' in os.environ:
from .prod import *
except:
pass
我有点困惑,printenv显示环境变量存在,但Django无法看到它。有什么东西看起来公然错误,我正在尝试?
你设置环境之前推出的Django?设置仅在启动时评估。 – wmorrell
我确保在设置变量后重新启动它。 –
而且您正在验证您的导入语句是否已运行,并且不会抛出异常? – wmorrell