如何在Plone产品中包含Buildout的配置信息?
我正在研究的plone产品之一是从文件系统读取和写入信息。它目前在egg命名空间内执行(例如在plone / product /目录中),但这对我来说并不合适。
我们的想法是配置一个地方将信息存储在一个可配置的路径中,就像iw.fss和iw.recipe.fss一样。
例如,将该信息保存到$ {buildout:directory} / var / mydata。
答案 0 :(得分:17)
您可以通过plone.recipe.zope2instance部分的zope-conf-additional部分向zope.conf文件添加配置部分:
[instance]
recipe = plone.recipe.zope2instance
...
zope-conf-additional =
<product-config foobar>
spam eggs
</product-config>
任何命名的product-config部分都可以作为一个简单的字典提供给任何关心它的python产品;上面的例子创建了一个'foobar'条目,这是一个带有'spam'的字典:'eggs'映射。以下是您从代码中访问它的方式:
from App.config import getConfiguration
config = getConfiguration()
configuration = config.product_config.get('foobar', dict())
spamvalue = configuration.get('spam')