2011-11-12 61 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 

... 

所以默認設置可以得到由配置設置覆蓋。 py他們應該存在。 這種方法不會針對太多變量進行縮放,所以我想知道是否有一種較爲冗長的方式來做到這一點。也許我應該使用eval()?

非常感謝!

+1

不,你不應該使用'eval'。如果你不得不問,你不需要。 – delnan

+0

是的,這就是我的想法,因此我的問題。 – cookM

回答

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

是的,這就是我做的,但必須先導入設置,像這樣settings = __import __('settings')非常感謝。 – cookM

+0

導入設置:從django.conf導入設置 – kosmos342