我想从守护进程模式下运行mod_wsgi的Django中访问GEOIP_COUNTRY_CODE
环境变量。问题是,我可以在服务器上运行的PHP脚本中看到变量,但似乎它没有通过WSGI传递到我的Django站点。
request.META.get('GEOIP_COUNTRY_CODE')
不起作用。
对于mod_wsgi中的其他环境变量,是否有类似WSGIPassAuthorization
的内容?
答案 0 :(得分:1)
如果变量由扩展模块设置为环境变量,则可以访问:
import os
value = os.environ['GEOIP_COUNTRY_CODE']
就像任何其他环境变量一样。
更新1:
如果设置在一个Apache模块内部,例如mod_geoip,那么将它转移到WSGI应用程序领域的唯一方法是在Apache请求结构的req.subprocess_env中设置它。也就是说,就像SetEnv指令已经与Apache一起使用一样。在这种情况下,它应该出现在传递给WSGI应用程序的WSGI环境字典中。
使用以下所示的WSGI echo test脚本尝试验证是否发生这种情况:
http://code.google.com/p/modwsgi/wiki/DebuggingTechniques#Displaying_Request_Environment