在Pyramid中继承配置文件设置

5 投票
1 回答
2025 浏览
提问于 2025-04-17 04:50

这样的设置是不是不可能呢?

这是我的生产环境配置文件 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控制的,所以你需要在每个文件里都重复写一次。

撰写回答