2011-11-12 21 views
0

私は再利用可能なdjangoアプリを開発しています。これはsettings.pyのGLOBAL VARIABLESで設定したいものです。Python/djangoのデフォルト設定

私はこれらのように私は、私は次のことを持っているconf.pyモジュール、で私のアプリ内のデフォルト値をオプション提供してきましたことにしたい。

GLOBAL_1 = "Def value for global 1" 
GLOBAL_2 = "Def value for global 2" 
GLOBAL_3 = "Def value for global 3" 

try: 
    from settings import GLOBAL_1 
except: 
    pass 

try: 
    from settings import GLOBAL_2 
except: 
    pass 

... 

ので、デフォルトが設定で設定によって上書き得ることができます。彼らが存在するべきである。 この方法はあまりにも多くの変数のためにスケールされませんので、これを行う方法はそれほど冗長ではないかと思いました。多分私はeval()を使うべきでしょうか?

ありがとうございます!

+1

いいえ、あなたは 'eval'を使うべきではありません。あなたが尋ねなければならないなら、あなたはしません。 – delnan

+0

ええ、それは私が思ったことなので、私の質問です。 – cookM

答えて

1
GLOBAL_1 = getattr(settings, 'GLOBAL_1', 'Def value for global 1') 
+0

ええ、それは私がやったことですが、この設定= __import __( 'settings')のように最初に設定をインポートしなければなりませんでした。 – cookM

+0

設定のインポート:django.confのインポート設定から – kosmos342

関連する問題