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:

ただし、mod_geoipなどのApacheモジュール内に設定されている場合、WSGIアプリケーションレルムに転送される唯一の方法は、Apacheリクエスト構造のreq.subprocess_envに設定されている場合です。つまり、SetEnvディレクティブがApacheで使用された場合と同じです。その場合、WSGIアプリケーションに渡されるWSGI環境ディクショナリに表示されます。

これが発生しているかどうかを検証するには、次のようなWSGIエコーテストスクリプトを使用します。

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

于 2011-03-26T12:12:06.390 に答える