おなかのmemcached pythonラッパーの追加ラッパーとして機能するpythonスクリプトがあります。私はこのようなものを持っています:
class CacheIt(object):
def __init__(self, host=<hostname>, port=11211, **kwargs):
...
memcached のホスト名を ini ファイルから取得できるようにしたいのですが、development.ini、production.ini、または test.ini から取得される可能性があるため、どのファイルを指定したくありませんか。現在のiniファイルの「検索」を動的にする必要があります。つまり、アプリケーションは現在のiniファイルが何であるかを認識し、設定からホスト名を取得する必要があります。
アプリケーションの起動時に戻り値が None であるため、スレッド ローカル get_current_request を使用して設定ファイルを取得することはできません (クラスのインスタンスを NewRequest イベントにアタッチします)。
これ:
from paste.deploy.loadwsgi import appconfig
config = appconfig('config:development.ini', 'myapp', relative_to='.')
それでも、これを使用するにはまずパスを知る必要があります。つまり、これを使用する場合、デプロイするたびに development.ini の値を production.ini に変更し、テストする場合は test.ini に変更する必要があります。確かに、これを行うためのより良い方法が必要です。