2011-05-07 36 views
0

我有一組應用程序和多個數據庫,這些應用程序和多個數據庫僅在初始設置期間需要。我想根據需要切換,所以我在settings.py中設置了一個常量IMPORT_MODE。Django在settings.py中切換MultiDB和已安裝的應用程序

爲了使這項工作,我將INSTALLED_APPS從一個元組更改爲一個列表。這樣我可以根據需要添加我需要安裝時所需的應用程序列表。這似乎沒有任何問題,但我想這可以打開INSTALLED_APPS列表在運行時更改的可能性,因爲它不再是元組。

這是一個有效的問題,還是應該寫一個腳本來將我不需要的應用程序註釋掉INSTALLED_APPS元組?

不過小,不得不檢查我們是否在INSTALL_MODE或根本不影響性能?或者,Python是否會在製作pyc時基本消除該檢查? (不知道最後一個問題對人們是否有意義。)

謝謝!

回答

0

它不應該沒有。你可能想要考慮做這樣的事情,這是我見過的(並且使用)的Django習慣用法。在另一個模塊中定義備用設置(比如import_mode.py)並導入它們,覆蓋默認設置,但只有當包含備用設置的模塊可導入時纔會覆蓋默認設置。

try: 
    from import_mode import * 
except ImportError: 
    pass 
相關問題