如何在我的 Plone 产品中包含 Buildout 的配置信息?
我正在研究的 plone 产品之一从文件系统读取和写入信息。它目前在 egg 命名空间内(例如在 plone/product/directory 内)执行此操作,但这对我来说看起来不太正确。
这个想法是配置一个地方来将该信息存储在一个可配置的路径中,就像 iw.fss 和 iw.recipe.fss 一样。
例如,将该信息保存到 ${buildout:directory}/var/mydata。
您可以通过 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')