在Pyramid中继承配置文件设置
这样的设置是不是不可能呢?
这是我的生产环境配置文件 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 ...
然后我尝试启动我的开发服务器,结果出现了:
在配置文件 development.ini 中找不到以 'server' 开头的 'main' 部分
我想把我的配置文件串联起来,像这样:
production.ini -> development.ini -> local.ini -> test.ini
这看起来应该是可行的,但我还没有找到正确的方法。
1 个回答
5
可以让INI文件之间相互继承,但这种继承是按部分来进行的。也就是说,如果你没有明确告诉“test.ini”去继承[server:main]这一部分,它就不会去继承。关于这些内容的详细说明可以在PasteDeploy这个包里找到,不过说明得不是特别清楚。
我其实从来没有见过[server]这一部分的继承链,但这可能是有可能的……通常你只会看到[app]这一部分的继承。我不会感到惊讶,如果你需要在不同的文件之间重复这一部分。
另外要提一下,INI文件中的日志配置是不能继承的……这部分其实并不是由PasteDeploy控制的,所以你需要在每个文件里都重复写一次。