2

希望你一切都好。

我在 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,从而启用我的环境变量,但事实并非如此。

难道我做错了什么?欢迎任何建议或建议。

4

1 回答 1

4

使用该配置,mod_wsgi 所做的只是将 virtualenv 站点包目录添加到 sys.path 中,仅此而已。

在使用 mod_wsgi 时,您不能将其用作设置环境变量的地方,因为 mod_wsgi 从未以任何可以配置的方式使用它。

于 2013-05-22T22:31:49.280 回答