2010-01-21 34 views
5

Django設置包含一系列python變量,用於從數據庫設置到已安裝的應用程序的過多事物。即使許多可重複使用的應用程序也需要進行一些設置。Django動態設置基礎結構和最佳實踐

有數十個網站,很難管理所有項目的設置。

幸運的是,設置只是一個帶變量的python模塊,所以你可以用任何魔法來填充你想要的變量。

您採用了哪些做法或者您認爲可以將各種相關設置分隔到不同的文件中?

顯然,現有enterprisey實踐是一個開發人員創建一個戰爭和OPS部門拍打它的青魚,並採取所有的數據庫(並且這樣)OPS的東西(根據Jacob's email)的照顧。

您能創建什麼樣的動態settings.py將有助於現有的企業實踐?

+0

https://code.djangoproject.com/wiki/SplitSettings#ini-stylefilefordeployment – 2012-02-29 09:17:02

回答

1

喜歡的東西我經常見過的設置文件:

from localsettings import * 

localsettings.py之類的數據庫連接和DEBUG值定義。對於每個部署環境(dev/staging/production等),localsettings.py(或可能)是不同的,並且不與其他所有部分一起存在於源代碼控制中。

事情我已經發現的有用最近是把這個在我的settings.py

try: 
    from localsettings import * 
except ImportError: 
    from default_localsettings import * 

default_localsettings.py我定義了一堆違約(DEBUG = True,在同一目錄中使用SQLite數據庫爲default_localsettings.py等)。

這可能沒有用,一旦你已經設置了一些東西,但我發現它很有用,只要能夠檢查我的項目脫離源代碼管理,並使用runserver直接工作,而不必設置任何東西向上。