无法获取django设置中的环境变量?

问题描述:

我定义我的环境变量里env/bin/activate和下面从输出出来的时候我在zsh使用echo激活他们无法获取django设置中的环境变量?

debug="True" 
secret="RI4MgORxGb4c6zhotTHSNXc54lz1IWGbIoETfmj2VB99sPNlk9YMcg4b6qyX" 

。现在,这告诉我环境变量设置正确。我正在使用

DEBUG = True if os.environ.get("debug") == "True" else False 

问题同内部Django的设置,当我运行

python manage.py runserver 

这是无法找到这些变量,而不是

env debug='True' python manage.py run server 

这工作正常自带调试模式和生产取决于环境变量。我在这里错过了什么?这是因为使用zsh shell或我以某种方式错误地获取变量?

+0

您是否记得将这些变量导出到环境中? –

+0

@ IgnacioVazquez-Abrams现在我觉得在出口方面错过了真正的愚蠢。答案,我可以接受。长久以来我一直在想我错了:) – georoot

在许多shell中,仅为shell进程本身设置变量。如果要将shell变量转换为环境变量,则需要导出变量,通常使用export命令。