从概念上讲,这是一个非常简单的想法。在细节方面,我正在使用一个非常通用的 Kotti 安装,我正在自定义一些页面/模板。
我的大部分配置在生产服务器和开发服务器之间共享。目前,这些设置包含在两个单独的 ini 文件中。DRY 这种配置会很好,在一个地方使用通用设置。
我对在 python 或 ini 文件/部分(或者可能是第三个尚未考虑的地方)中发生这种情况持开放态度。我认为这相当于使用 [DEFAULT] 部分,或将字典传递给loadapp
via global_conf
,但这似乎是以一种松鼠的方式处理的。例如,Kotti 认为我已经正确设置了 sqlalchemy.url,但是 sqlalchemy 本身在url = opts.pop('url')
. 此外,由于 Kotti 定义了一些默认设置,Paste 最终不会在 global_conf 中搜索它们(例如,kotti_configurators
)。
我不喜欢传入一个大字典进行%(var)s
替换的想法,因为它需要有效地重命名所有共享变量。
在我对 Paste Deploy 的初步实验中,它要求每个 ini 文件中都有一个“主要”部分。所以,我不认为我可以只使用一条use = config:shared.ini
线。但这在概念上接近我想做的事情。
有没有办法明确(并且正确地)包含来自 DEFAULT 或的设置global_conf
?或者也许在 loadapp 的结果上使用 python 以编程方式执行此操作?