a.example.com b.example.com 同じアプリケーション フォルダー、異なる構成ファイルを使用してフラスコに入れたい。次の解決策を見つけましたが、それらを使用するにはどうすればよいですか?
テンプレートに「request.host」を挿入し、それに応じて分岐するコンテキスト プロセッサを作成します。
さらに制御するには、現在のリクエストからインスタンス化された Site オブジェクトを作成し、それにプロパティを追加します。次に例を示します。
class Site(object):
def __init__(self, request):
self.host = request.host
@cached_property
def google_analytics_id(self, default=''):
if self.host == 'python.example.com':
return <something>
elif self.host == 'apple.example.com':
return <something else>
return default
次に、コンテキスト プロセッサで site = Site(request) を使用し、site を参照します。あなたのテンプレートで。他のプロパティの候補は、HTML メタ記述とキーワード、サイトのタイトルなどです。もちろん、この種の分岐は、要求オブジェクトにアクセスできるアプリケーションの部分からのみ可能です。
ポール