2011-10-23 86 views
4

像這樣的設置是不可能的?繼承金字塔中的配置文件設置

production.ini文件:

[app:main] 
use = egg:my_project 

... various settings ... 

[server:main] 
... 

development.ini文件:

[app:main] 
use = config:production.ini#main 

... override some production settings ... 

然後,我開始嘗試我開發服務器,並得到:

無節 '主'(前綴爲'server')在config.ini中找到

我想我的鏈的配置文件一起,像這樣:

production.ini - > development.ini - > local.ini - > test.ini

看起來這應該是可能的,但我還沒有得到這個魔術。

回答

4

可以繼承INI文件,但繼承只能在逐節的基礎上工作。所以如果你沒有明確告訴「test.ini」繼承[server:main]部分,那麼它不會。所有這些文檔都是通過PasteDeploy包,儘管它不是很明顯。

我從來沒有真正看到[server]部分的繼承鏈,但它可能是可能的......通常你只會看到用[app]部分完成的。如果您必須在文件之間複製該部分,我不會感到驚訝。

作爲一個方面說明,INI文件中的日誌記錄配置是不可繼承的......它實際上並未實際上由PasteDeploy控制,因此您必須在每個文件中複製它。

+0

嗯......我明白了。應用程序部分只是稍微有用,我想它會被複制和粘貼。關於伐木的知識也很好。謝謝! – lostdorje