9

如何在我的 Plone 产品中包含 Buildout 的配置信息?

我正在研究的 plone 产品之一从文件系统读取和写入信息。它目前在 egg 命名空间内(例如在 plone/product/directory 内)执行此操作,但这对我来说看起来不太正确。

这个想法是配置一个地方来将该信息存储在一个可配置的路径中,就像 iw.fss 和 iw.recipe.fss 一样。

例如,将该信息保存到 ${buildout:directory}/var/mydata。

4

1 回答 1

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')
于 2011-05-26T22:29:29.870 回答