我创建了名为“bdrMenuView”的browserView类。它应该像“class bdrMenuView(BrowserView):”。并且该类包含名为“createPictMenu”的方法。全班应该是
class bdrMenuView(BrowserView):
def createPictMenu(self):
现在我又写了一个名为LogoViewlet的类。它应该像“类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()
我想知道我创造的是否正确。
答案 0 :(得分:0)
不,这是不正确的,绝对没有意义。为什么要将基类作为参数传递?请学习基本的Python。
视图的参数是上下文和请求。从另一个视图(视图中的视图)内部创建视图的最佳方法是遍历它。您可以使用restrictedTraverse执行此操作。
具体代码取决于您的注册视图。例如,如果要查找的视图名为@@bdrmenu
并已注册任何内容,则可以使用self.context.restrictedTraverse('@@bdrmenu')
进行查找。