django - apache载入配置文件的时候读取环境变量的问题
天蓬老师
天蓬老师 2017-05-16 17:03:31
0
1
523

我的项目是使用django + apache部署的,为了方便的区分线上和开发环境,我在服务器上设置了一个环境变量Z_ENV,然后在Django的配置文件中是这样写的,

env = os.environ.get("Z_ENV", None)
if env == "server":
    from .server_settings import *
else:
    from .local_settings import *

这样的写法在本地和在服务器上使用Django自带的一些命令都是没问题的,比如直接运行os.environ.get("Z_ENV", None)就是server或者python managa.py syncdb,确实是使用的server_settings里面的配置,但是在apache载入配置文件的时候却没有获取到这个环境变量,然后就使用了local_settings,我是在上面加了一句print env的,然后service apache2 restart的时候在apache的日志文件中就是打印的None。

环境变量修改的是/etc/profile文件,内容是Z_ENV=server export Z_ENV一开始我是对apache的用户不生效的呢,但是后来查了查,这个地方设置的环境变量是所有的用户生效的。

来请教一下大家,看看是怎么回事?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(1)
迷茫

/etc/apache2/envvars 中设置 export Z_ENV=server

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!