我正在调试大型Zope应用程序,没有使用Zope Framework的经验。我正在尝试查找称为请求的代码。
我所知道的,这些页面是通过调用Products.Five.browser.BrowserView
的实例生成的,但是如何知道它们将被调用? zope如何将URL映射到视图?
答案 0 :(得分:1)
我想你想知道为特定的URL调用哪个View。在我遇到的Zope应用程序的所有实例中,应用程序的主文件夹中都有名为configure.zcml
的文件,您可以在其中查看这些部件是如何组装在一起的。
如果要查找的 不明显,您可以从以下某个地方开始:
在应用程序的实例位置(INSTANCE_HOME
)中,可能有一个etc/package-includes/
路径,其中包含一个或多个.zcml文件(“config slugs”)列表zope查找configure.zcml
- 文件
搜索$INSTANCE_HOME/Products
以下的所有目录configure.zcml
- 文件
你在那里寻找像这样的部分::
<browser:page
for="*"
permission="zope2.View"
name="this_is_an_url_name"
class="package_name.module_name.ClassName"
/>
将URL映射到视图。
另外,抬头:-) Zope有一些学习曲线,但 强大。