0

我想GEOIP_COUNTRY_CODE从以守护程序模式在 mod_wsgi 上运行的 Django 访问环境变量。问题是,我可以从服务器上运行的 PHP 脚本中看到该变量,但它似乎没有通过 WSGI 传递到我的 Django 站点。 request.META.get('GEOIP_COUNTRY_CODE')不起作用。WSGIPassAuthorizationmod_wsgi 中是否有其他环境变量?

4

1 回答 1

1

如果该变量由扩展模块设置为环境变量,那么它将可以通过以下方式访问:

import os
value = os.environ['GEOIP_COUNTRY_CODE']

即,就像任何其他环境变量一样。


更新 1:

如果设置在 Apache 模块内部,例如 mod_geoip,则将其传输到 WSGI 应用程序领域的唯一方法是在 Apache 请求结构的 req.subprocess_env 中设置。即,与在 Apache 中使用 SetEnv 指令相同。在这种情况下,它应该出现在传递给 WSGI 应用程序的 WSGI 环境字典中。

要尝试验证是否发生这种情况,请使用 WSGI 回显测试脚本,如下所示:

http://code.google.com/p/modwsgi/wiki/DebuggingTechniques#Displaying_Request_Environment

于 2011-03-26T12:12:06.390 回答