2012-10-22 28 views
0

我刪除了官方zc.buildout文檔和一些內容,但是我還沒有找到明確的答案來解決以下問題。

假設我想現在從自動在每一個Django項目(Django1.4)的以下更改,可所有這些變化得到的僅僅是執行由buildout.cfg文件?

$ django-admin.py startproject my_project後,例如更改默認startproject命令的我會實現:

$ mkdir ~/path/to/my_project/my_project/db 

settings.py:

import os 
ROOT_PATH = os.path.dirname(os.path.abspath(__file__)) 

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.sqlite3', 
     'NAME': os.path.join(ROOT_PATH, 'db/my_project.db'),      
     'USER': '',      
     'PASSWORD': '',     
     'HOST': '',      
     'PORT': '', 
    } 
} 

我目前建立和使用自己定製發佈Django源代碼的1.4分支作爲解決方案,但是如果我可以使用buildout來完成這項工作,那將是非常好的。

回答

1

你想要的不是構建用例的一部分。

您希望在啓動項目時自定義生成的代碼,而構建旨在爲您提供可重複的部署或開發環境。

前者一個開發人員可以使用,後者旨在讓多個開發人員或多個生產機器啓動並運行相同的軟件堆棧。

也就是說,可以構建一個擴展配方,在部件運行時寫出這些文件的新版本。例如,使用collective.recipe.template,您可以指定一個模板文件,每次構建運行時都將放置在某個位置。請注意,如果這些文件發生更改,將覆蓋

1

除了Martijn的回答:buildout可以創建目錄就好了。看看http://pypi.python.org/pypi/z3c.recipe.mkdir/

這也是我經常使用它的任務之一(創建一個無功/日誌/日誌文件爲,一個VAR /源碼/ DIR爲sqlite的文件等)

相關問題