私のdjangoプロジェクトには、開発とテストの2つの環境があります。今日、私は開発中のものでテスト中のsettings.pyを不注意に上書きしました。テストで設定を修正するのに少し時間がかかりましたが、2つの設定を別々に維持する良い方法があれば回避できたはずです。
私はsettings.pyの2つの別々のコピーを保持し、必要に応じてそれらの名前を変更/移動することを考えていました。ただし、これは一種の穴居人のアプローチです。この問題に対処するためのよりスマートな方法はありますか?
私のdjangoプロジェクトには、開発とテストの2つの環境があります。今日、私は開発中のものでテスト中のsettings.pyを不注意に上書きしました。テストで設定を修正するのに少し時間がかかりましたが、2つの設定を別々に維持する良い方法があれば回避できたはずです。
私はsettings.pyの2つの別々のコピーを保持し、必要に応じてそれらの名前を変更/移動することを考えていました。ただし、これは一種の穴居人のアプローチです。この問題に対処するためのよりスマートな方法はありますか?
settings.pyファイルの最後に、次を追加します。
try:
from settings_dev import *
except ImportError: pass
ここで、settings_dev.pyには開発設定が含まれます。また、本番環境では、settings_devをプッシュしないでください(.gitingoreまたはソースコードバージョン管理システムでは無視してください)。
したがって、settings_dev.pyが存在する場合は常に、settings.pyがsettings_dev.pyファイルによって上書きされます。
環境変数を設定することによるもう1つのアプローチ:
if os.environ.get('DEVELOPMENT', None):
from settings_dev import *
ここで言及:開発と本番用のDjangosettings.py
私は最初のものを好みます、それはシンプルでちょうどうまくいきます。
ここに記載されているように設定を分割します。
https://code.djangoproject.com/wiki/SplitSettings#SimplePackageOrganizationforEnvironments