如何从我的克隆产品中的构建中获取配置?

发布于 2024-11-10 03:04:56 字数 259 浏览 0 评论 0原文

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

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

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

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

How do I include configuration information from Buildout in my Plone products?

One of the plone products i'm working on reads and writes info to and from the filesystem. It currently does that inside the egg namespace (for example inside plone/product/directory), but that doesn't look quite right to me.

The idea is to configure a place to store that information in a configurable path, just like iw.fss and iw.recipe.fss does.

For example, save that info to ${buildout:directory}/var/mydata.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

作妖 2024-11-17 03:04:56

您可以通过 plone.recipe.zope2instance 部分的 zope-conf-additional 部分将配置部分添加到您的 zope.conf 文件中:

[instance]
recipe = plone.recipe.zope2instance
...
zope-conf-additional =
   <product-config foobar>
       spam eggs
   </product-config>

然后,任何命名的产品配置部分都可以作为任何需要查找的 Python 产品的简单字典它;上面的示例创建了一个“foobar”条目,它是一个带有“spam”:“eggs”映射的字典。以下是您如何从代码中访问它:

from App.config import getConfiguration
config = getConfiguration()
configuration = config.product_config.get('foobar', dict())
spamvalue = configuration.get('spam')

You could add configuration sections to your zope.conf file via the zope-conf-additional section of the plone.recipe.zope2instance part:

[instance]
recipe = plone.recipe.zope2instance
...
zope-conf-additional =
   <product-config foobar>
       spam eggs
   </product-config>

Any named product-config section is then available as a simple dictionary to any python product that cares to look for it; the above example creates a 'foobar' entry which is a dict with a 'spam': 'eggs' mapping. Here is how you then access that from your code:

from App.config import getConfiguration
config = getConfiguration()
configuration = config.product_config.get('foobar', dict())
spamvalue = configuration.get('spam')
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文