Zope3和Grok的布局组件包。
grokcore.layout的Python项目详细描述
布局
布局是允许您设计站点的组件。经常, 这是所有页面共享的公共结构。技术上, 它是一个基于视图组件接口的类,提供 "render"和"update"方法。
让我们实现一个简单的布局:
< Buff行情>>>> from grokcore.layout import Layout >>> from zope.interface import Interface >>> import grokcore.component as grok
>>> class MyLayout(Layout): ... grok.name('mylayout') ... grok.context(Interface) ... ... def render(self): ... return u"a simple layout"
我们搜索组件:
< Buff行情>>>> grok_component('MyLayout', MyLayout) True
我们检查它是否已正确注册:
< Buff行情>>>> from grokcore.layout import ILayout >>> from zope.component import getMultiAdapter >>> from zope.publisher.browser import TestRequest
>>> layout = getMultiAdapter((TestRequest(), Interface), ILayout) >>> isinstance(layout, MyLayout) True >>> print(layout.render()) a simple layout
现在让我们看看如何在使用页面的特定上下文中使用此布局。