我的SECRET_KEY = os.environ['SECRET_KEY']
中有prod.py
,而我的.bashrc中有SECRET_KEY=secret_string
这将导致502错误,但是如果我设置SECRET_KEY="secret_string"
,它就会起作用。如何使用环境变量来执行此操作?
我正在通过sudo service gunicorn restart
开始使用gunicorn,我有一个新手脚本。
以下是cat /proc/<PID>/environ
的输出:
PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin^@TERM=linux^@UPSTART_JOB=gunicorn^@UPSTART_INSTANCE=^@
答案 0 :(得分:5)
你需要这样做:
export SECRET_KEY=secret_string
在.bashrc
中。如果您这样做:
SECRET_KEY=secret_string
它仅在当前进程中可用,但是当您运行django server / shell时,子进程不知道此变量。 export
也使变量在子进程中可用。
答案 1 :(得分:3)
.bashrc
仅影响bash登录shell。初始脚本不会受到任何影响。
您应该将export SECRET_KEY=...
行复制到初始化脚本的顶部。