【发布时间】:2018-02-11 01:42:53
【问题描述】:
我有一个使用 Nginx 和 Gunicorn 在 Ubuntu 16.04 上运行的 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吗?仅在启动期间评估设置。
-
我确保它在设置变量后重新启动。
-
您正在验证您的导入语句是否已运行,并且没有抛出异常?
-
是的,我也担心同样的事情,并确认没有例外。
-
好的,这是您的整个设置文件?你的项目布局是什么?
标签: python django ubuntu nginx environment-variables