我目前正在为多种服务编写数据收集服务。可能有 5 个不同的 API 端点具有不同的主机和端口号。我想为此创建一个设置文件,但认为.ini应该是一个更好的地方,或者我认为......
我的 development.ini 看起来像这样:
[app:main]
use = egg:awesomeproject
auth.tkt = 'abc'
auth.secret = 'I love python'
mongodb.host = 'somehost'
mongodb.port= 6379
[server:main]
use = egg:waitress#main
host = 0.0.0.0
port = 6543
[user:sg:qa]
host = 127.0.0.1
port = 1234
[customer:sg:qa]
host = 127.0.0.2
port = 4567
我试图访问金字塔事件中的自定义部分,如下所示:
def add_api_path(event):
request = event.request
settings = request.registry.settings
_type = 'customer:sg:qa'
base_config = settings[_type]
但这不起作用,因为设置实际上是[app:main]
属性的字典。有人可以教我以金字塔方式访问这些部分的方法吗?我读到了另一种方法,使用 ConfigParser,但我想先问一下 Pyramid 中是否还有其他更简单的方法。