在我的一个项目的buildout.cfg文件中,我有这样的内容:
[buildout]
...
zcml =
my.package
plone.reload
...一切都很好,但我仍然不明白为什么有些包需要在这里列出,为什么其他包不需要。
它的目的是什么呢?
在做一些研究的时候,我最后使用了https://pypi.python.org/pypi/munin.zope/2.1,它说如果您使用z3c.autoinclude和plone (+3.3),您就不需要它了。
这是否意味着如果一个发行版在其z3c.autoinclude上有setup.py段塞,即
entry_points="""
# -*- Entry points: -*-
[z3c.autoinclude.plugin]
target = plone
""",你不必关心buildout:zcml
发布于 2015-05-21 02:39:54
除了定义的方便位置之外,构建部分中没有与zcml参数相关的固有功能。
通常,实例部分将引用它:
[instance]
recipe = plone.recipe.zope2instance
eggs = Plone
zcml = ${buildout:zcml}is an anti-pattern, IMO
发布于 2015-06-07 22:02:04
在构建配置文件中,可以通过两种方式使用name=value:
buildout:zcml是第二种情况的例子。
换句话说,使用buildout:zcml的唯一原因是需要在不同的地方使用它的价值。
但是,当我需要重用zcml时,我宁愿在plone.recipe.zope2instance部件中定义它。并在另一部分中重用这个值。
https://stackoverflow.com/questions/30361239
复制相似问题