我怎样才能获得金字塔中的ini数据?

Tal*_*mad 15 ini pyramid

金字塔项目中有development.ini或production.ini.我在ini文件中添加自己的配置数据,如:

[thrift]
host = 0.0.0.0
port = 8080
Run Code Online (Sandbox Code Playgroud)

我想在项目中的一个py文件中使用配置数据.如何在没有请求对象的情况下获取数据?(我见过一个使用请求的解决方案.)

mad*_*jar 24

您可以在request.registry.settings或访问设置pyramid.threadlocal.get_current_registry().settings.它表现得像字典.

如果你想使用第二个,即在没有请求的情况下获取设置,我必须警告你.根据文件:

应该非常谨慎地使用此功能,通常仅在单元测试代码中使用.在测试上下文之外使用get_current_registry几乎总是错误的,因为它的使用使得编写既不易测试也不编写脚本的代码成为可能.

代码中需要访问设置的任何部分都是Web应用程序的一部分,应该访问请求,而不是一些神奇可访问的全局.你可能认为你有充分的理由,但可能有更好的方法.如果你想讨论它(可能在另一个问题,如果它很复杂,因为一些代码会有帮助),我很乐意帮助你找到一个干净的方法来做到这一点.