設定をモジュール方式で保存する必要があります。つまり、設定を複数のファイルに分散することを意味します。
たとえば、base_settings.py
すべての基本設定を保存する必要がある場合があります。dev_settings.py
開発サーバーの設定用。最後prod_base_settings.py
に、すべてのプロダクション設定についてです。すべての非基本設定ファイルは、すべての基本設定をインポートし、必要なものだけを変更します:
# base_settings.py
...
# dev_settings.py
from base_settings import *
DEBUG = TRUE
...
# prod_base_settings.py
from base_settings import *
DEBUG = FALSE
...
このアプローチにより、さまざまなセットアップからさまざまな設定を行うことができます。これらすべてのファイルをコミットすることもできますが、本番サーバーでは、prod_settings.py
すべての機密設定を指定する実際の本番設定ファイルを作成できます。このファイルはどこにもコミットしないでください。その内容は安全に保たれます。
# prod_settings.py
from prod_base_settings import *
SECRET_KEY = 'foo'
ファイル名に関しては、適切と思われるファイル名を使用できます。個人的には、実際に設定用の Python パッケージを作成し、さまざまな設定をパッケージ内に保持します。
project/
project/
settings/
__init__.py
base.py
dev.py
...
app1/
models.py
...
app2/
models.py
...