20か国に20のサイト(サイトごとに1つの異なるドメイン)を持つDjangoプロジェクトを作成しました。サイトはすべてを共有します:コードベース、データベース、URL、テンプレートなど。
彼らが共有していないのは、各サイト設定ファイル(各サイトには1つの設定ファイルがあり、これらすべてのファイル)で設定した小さなカスタマイズ(ロゴ、CSSテーマの背景色、言語コードなど)だけです。一般的なものを含むグローバル設定ファイルをインポートします)。今のところ、開発モードでサイトを実行するために、次のことを行います。
django-admin.py runserver 8000 --settings=config.site_settings.site1
django-admin.py runserver 8001 --settings=config.site_settings.site2
...
django-admin.py runserver 8020 --settings=config.site_settings.site20
いくつか質問があります。
- サイト(ドメイン)ごとに仮想ホストを作成して、サイトのsettings.pyファイルに渡すことができることを読みました。ただし、これにより、サイトごとに1つのDjangoインスタンスが作成されるのではないかと心配しています。私は正しいですか?
- 展開を行うためのより効率的な方法はありますか?django-dynamicsitesについて読んだことがありますが、それが正しい方法かどうかはわかりません。
- Herokuを使用してデプロイすることにした場合、Herokuはアプリごとに1つの設定ファイルしか想定していないようです。したがって、20個のアプリが必要になります。そのための解決策はありますか?
ありがとう!