2012-01-05 126 views
1

我的django項目有兩個環境 - 開發和測試。今天我在開發中不小心覆蓋了測試中的settings.py。我花了一段時間來糾正測試中的設置,如果我有一種很好的方法分別維護兩套設置,本來可以避免的。維護不同環境的獨立設置的方法?

我想保留settings.py的兩個單獨副本,並在需要時重命名/移動它們。然而,這是一個穴居人的方法。有沒有更聰明的方法來處理這個問題?

+0

可能重複[?如何管理當地VS Django的生產設置](http://stackoverflow.com/questions/1626326/how-to - 管理本地與生產設置在Django) – ravi404 2015-08-10 10:28:52

回答

3
  1. 在你的settings.py文件的末尾,補充一點:

    try: 
        from settings_dev import * 
    except ImportError: pass 
    

    凡settings_dev.py將包含開發設置。並且在您的製作環境中,請勿推送settings_dev(只需在.gitingore或源代碼版本控制系統中忽略它)。

    因此,如果存在settings_dev.py,settings.py將被settings_dev覆蓋。 py文件。

  2. 還有一個方法,通過設置環境變量:

    if os.environ.get('DEVELOPMENT', None): 
        from settings_dev import * 
    
    這裏提到

    Django settings.py for development and production

我更喜歡第一個,這很簡單,只是工作。

+0

還沒有決定哪一個去,但我認爲這兩個都很好。謝謝。 – tamakisquare 2012-01-05 06:15:02

相關問題