-1

我创建了名为 "bdrMenuView" 的 browserView 类。它应该类似于 "class bdrMenuView(BrowserView):" 。并且该类包含名为“createPictMenu”的方法。全班应该

    class bdrMenuView(BrowserView):
              def createPictMenu(self):

现在我又写了一个名为 LogoViewlet 的类。它应该类似于 "class LogoViewlet(ViewletBase):" 。并且该类包含名为“update”的方法。全班应该

    class LogoViewlet(ViewletBase):
              def update(self):

现在我想从另一个类调用 browserView 类的方法。我创建了一个类的实例,例如

    class LogoViewlet(ViewletBase):
              def update(self):
                   a = bdrMenuView(self,BrowserView)      ---------> instance of BrowserView class
                   logoName = a.createPictMenu() 

我想知道我创建的是否正确。

4

1 回答 1

0

不,这是不正确的,绝对没有意义。为什么要传入基类作为参数?请学习基本的 Python。

视图的参数是上下文和请求。从另一个视图(viewlet 就是)内部创建视图的最佳方法是遍历它。您可以使用restrictedTraverse 执行此操作。

确切的代码取决于您的视图注册的目的。例如,如果您要查找的视图被调用@@bdrmenu并注册了任何内容,您可以使用self.context.restrictedTraverse('@@bdrmenu').

于 2013-07-30T07:07:18.883 回答