2016-07-12 13 views
0

私のDjangoアプリケーションのテストを書いています。 Djangoを別の設定値で起動し、それぞれの場合にテストを実行したい。 (例:settings.ALLOW_ROBOTS = True、settings.ALLOW_ROBOTS = Falseの別のテスト)。私は実行時に値をオーバーライドすることには興味がありません。私は毎回異なる設定値でサーバを起動したい。 Djangoはこれを実現する方法を提供していますか?異なる設定値でDjangoを起動してください

+0

@MosesKoledoyeこのテストはTravis CI – rubyman

答えて

1

DJANGO_SETTINGS_MODULEで使用するsettings.pyファイルを選択できます。メインのものから多くのものをインポートしてから、変更が必要なものを変更することができます。

また、settings.pyは単なるPythonファイルです。必要に応じて、環境変数から設定値を取得することができます。

import os 

ALLOW_ROBOTS = bool(os.getenv('ALLOW_ROBOTS', False)) 

そして、その環境変数をTravisから変更します。

+0

で自動的に実行されます。 os.getenvは仕事をしました:) – rubyman

0

あなたの質問が正しく理解されていれば、複数の設定モジュールを使用できます。その場合は、サーバを起動する前に環境変数DJANGO_SETTINGS_MODULEを設定することが必要です。

関連する問題