希望你很好。
我在virtualenv postactivate文件中添加了几个环境变量,例如:
export DATABASE_USER="root"
export DATABASE_PASSWORD="12345678"
然后我使用os.environ ['DATABASE_USER']在settings.py中分配这些变量,例如
DATABASE_USER = os.environ['DATABASE_USER']
由于我的Apache虚拟主机文件包含
WSGIDaemonProcess mysite.local python-path=/my/python/path:/path/to/my/project/venv/lib/python2.7/site-packages
WSGIProcessGroup mysite.local
WSGIScriptAlias / /path/to/my/project/wsgi.py
据我了解,这告诉mod_wsgi以守护进程模式运行以及使用哪个virtualenv。既然它知道要使用哪个virtualenv,我会想象它会运行postactivate,从而启用我的环境变量,但事实并非如此。
我做错了吗?欢迎任何建议或建议。
答案 0 :(得分:4)
使用该配置,所有mod_wsgi都在将virtualenv site-packages目录添加到sys.path中,仅此而已。
在使用mod_wsgi时,不能将其用作设置环境变量的地方,因为mod_wsgi从未以任何方式配置它。