1

クライアントごとに1つずつ、複数のインスタンスを持つDjangoプロジェクトがあります。各インスタンスには独自のDBといくつかのカスタムAPPと独自のドメインがありますが、すべて同じソースコードを共有しています。唯一の違いはsettings.pyです正しいDBを指しているファイル。

たとえば Apache と WSGI を使用して、さまざまな設定を指すさまざまな仮想ホストを使用してこれを実現できることはわかっていますが、私の場合は、AWS Lambda と Zappa を使用してクライアントにこのサービスを提供します。

サイトをロードするドメインに応じて、いくつかのカスタム設定を動的にロードする方法が存在するかどうかを知りたいです。

4

2 に答える 2

0

settings.py を設定フォルダーに変換し、追加したいドメインの設定をいくつでも作成できます。共通設定用に base.py を作成し、特定の設定を持つ各ドメインは、base.py と追加のドメイン固有の設定をインポートする必要があります。

ディレクトリ構造は次のようになります。

  • 設定:

    • base.py
    • domain_1.py
    • domain_2.py
    • ...

domain_1 をロードするときに、使用してロードしようとするpython manage.py runserver --settings=settings.domain_1.pyと、request.meta['HTTP_HOST']ドメイン名を取得できます。

于 2019-02-28T20:07:01.410 に答える