2013-02-05 25 views
0

試想一個settings.py導入/導出根據具體的情況

if condition: 
    A_SETTING = True 
else: 
    A_SETTING = False 

我怎麼能有另一個文件只是將其導入並得到一個基於條件的設置:

import settings 

use_setting_somehow(settings.A_SETTING) 

UPDATE:忽略這個請。我的功能出錯了。

+1

有什麼問題你發佈的代碼? –

+0

Doh,一直漫長的一天。也許是時候停止編碼今天。 ;) – user1680104

回答

1

檢索取決於特定條件的值應該是一個getter而不是一個設置變量。

def get_setting(setting): 
    if condition: 
     return 1 
    else: 
     return 'A' 

import settings 
settings.get_setting('BLARP') 
0

這應該工作:

settings.py

if 1 == 1: 
    TESTVAR = True 
else: 
    # Note that you need a else, because if your 
    # logic fails in the statements above, you'll have no variable.. 
    TESTVAR = False 

test.py

import settings 
print settings.TESTVAR 
+0

奇怪的是,我是部分錯誤的,如果語句不創建本地對象,它是默認的全局。尼斯:) – Torxed