1

私のdjangoプロジェクトには、開発とテストの2つの環境があります。今日、私は開発中のものでテスト中のsettings.pyを不注意に上書きしました。テストで設定を修正するのに少し時間がかかりましたが、2つの設定を別々に維持する良い方法があれば回避できたはずです。

私はsettings.pyの2つの別々のコピーを保持し、必要に応じてそれらの名前を変更/移動することを考えていました。ただし、これは一種の穴居人のアプローチです。この問題に対処するためのよりスマートな方法はありますか?

4

2 に答える 2

3
  1. settings.pyファイルの最後に、次を追加します。

    try:
        from settings_dev import *
    except ImportError: pass
    

    ここで、settings_dev.pyには開発設定が含まれます。また、本番環境では、settings_devをプッシュしないでください(.gitingoreまたはソースコードバージョン管理システムでは無視してください)。

    したがって、settings_dev.pyが存在する場合は常に、settings.pyがsettings_dev.pyファイルによって上書きされます。

  2. 環境変数を設定することによるもう1つのアプローチ:

    if os.environ.get('DEVELOPMENT', None):
        from settings_dev import *
    

    ここで言及:開発と本番用のDjangosettings.py

私は最初のものを好みます、それはシンプルでちょうどうまくいきます。

于 2012-01-05T02:36:57.073 に答える
2

ここに記載されているように設定を分割します。

https://code.djangoproject.com/wiki/SplitSettings#SimplePackageOrganizationforEnvironments

于 2014-02-20T21:44:20.280 に答える