2012-01-05 12 views
1

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

私はsettings.pyの2つの別個のコピーを保持し、必要に応じて名前を変更/移動することを考えていました。しかし、これはちょっとした洞窟アプローチです。この問題をよりスマートに処理する方法はありますか?あなたのsettings.pyファイルの終わりに

+0

可能重複[?ジャンゴで制作設定VSローカル管理方法](http://stackoverflow.com/questions/1626326/how-to -manage-local-vs-production-settings-in-django) – ravi404

答えて

3
  1. 、この追加:settings_dev.pyはDEVの設定が含まれています

    try: 
        from settings_dev import * 
    except ImportError: pass 
    

    を。そして、あなたの生産環境では、settings_devを押さないでください(.gitingoreやソースコードのバージョン管理システムでは無視してください)。

    これまでsettings_dev.pyが存在すると、settings.pyはsettings_devによって上書きされます。 pyファイル。環境変数を設定することにより、

  2. もう一つのアプローチ:ここに記載

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

    Django settings.py for development and production

私は、最初のものを好むそれはシンプルだし、だけで動作します。あなたの設定を分割

+0

どちらを使うか決まっていませんが、どちらも良いと思います。ありがとう。 – tamakisquare

関連する問題