Skip to main content

Zope 本地站点和实用程序的类似 Grok 的配置

项目描述

这个包支持直接用 Python(没有 ZCML)为 Zope 编写本地站点和实用程序。

<nav class="contents" id="contents" role="doc-toc">

内容

</nav>

设置grokcore.site

这个包本质上是和grokcore.component 包一样设置的,详情请参考它的文档。您需要的唯一额外的 ZCML 行是:

<include package="grokcore.site" />

将它放在根 ZCML 文件顶部附近的某个位置,但低于包含grokcore.component配置的行。

例子

全局实用程序已由grokcore.component管理。

这是一个本地实用程序的简单示例:

from zope.interface import implements, Interface
import grokcore.site

class IKangaroo(Interface):

    def jump():
       """Make all kangaroos jump somewhere.
       """

class KangarooUtility(grokcore.site.LocalUtility):
    implements(IKangaroo)

    def jump(self):
        pass

现在,我们可以将我们的实用程序注册到本地站点。这将自动创建,并在我们创建该站点时注册该实用程序:

class Jungle(grokcore.site.Site):

    grokcore.site.local_utility(KangarooUtility, IKangaroo)

如果您不添加最后一行,您仍将拥有您的网站,但没有任何东西可以让您跳出您的袋鼠。然后,您将能够在之后手动添加(如果需要)。

API 概述

基类

地点

您网站的基类。

本地实用程序

ZODB 持久本地实用程序的基类。

指令

local_utility(工厂,提供=None,name=u'', setup=None,public=False,name_in_container=None

在站点上用于在创建时注册本地实用程序的指令:

工厂

将是要注册的组件(必需参数),

提供

将是用于查询本地实用程序的接口(必需参数),

姓名

将是用于查询本地实用程序的名称,

设置

将是一个带参数的函数。如果已定义,它将在创建实用程序后调用,并将其作为第一个唯一参数。

上市

如果为 true,该实用程序将在站点容器本身中创建,而不是在站点管理器中,并且公众将能够直接访问它。

name_in_container

将用作容器中实用程序的 ID,它将被创建。如果未定义,它将要求 NameChooser 为其选择一个名称。

此外,grokcore.site包公开了 grokcore.component API。

变化

3.1 (2020-09-02)

  • 修复弃用警告。

  • 放弃对 Python 3.4 的支持并添加对 3.7 和 3.8 的支持。

3.0.3 (2018-01-12)

  • 重新安排测试,以便 Travis CI 也可以获取所有功能测试。

3.0.2 (2018-01-11)

  • 不再从zope.site.hooks导入getSite,而是从 zope.component.hooks 导入

3.0.1 (2018-01-10)

  • 通过删除 ZODB3 来修复依赖关系。

3.0.0 (2018-01-05)

  • Python 3 兼容性。

1.8 (2016-09-21)

  • 删除站点时,请确保从父站点中删除引用。

1.7.1 (2016-01-29)

  • 更新测试。

1.7 (2015-06-11)

  • 添加可在站点上使用的新指令install_on。该指令允许您自定义何时(即事件)安装已配置的本地站点。

  • 将ApplicationInitializedEvent重命名为ApplicationAddedEvent

  • IApplicationAddedEvent被触发时,新应用程序将是当前 Zope 本地站点。该网站在活动结束后恢复。

1.6.1 (2012-05-02)

  • 暴露 ApplicationInitializedEvent 和 IApplicationInitializedEvent。

  • 为暴露的 IApplication 接口添加了缺少的导入。

1.6 (2012-05-01)

  • 将指令站点从 Grok 移至此包。

  • 将组件应用程序和所有相关实用程序从 Grok 移至此包。

1.5 (2011-01-03)

  • 将 Grok 包中的 IApplication 和 getApplication 移到了这个包中。

1.4 (2010-11-01)

  • 升级了 martian 和 grokcore.component 的版本要求。

1.3 (2010-10-18)

  • 使包符合存储库策略。

  • 更新功能测试以仅使用 zope.app.appsetup 而不是 zope.app.testing。

  • 更新功能测试不再需要 zope.app.zcmlfiles。

1.2 (2009-12-20)

  • 将导入从 zope.app.component 迁移到 zope.site。

1.1 (2009-09-18)

  • 更新了依赖项(添加了缺失的依赖项并添加了单独的测试依赖项)。

  • 本地实用程序现在实现 IAttributeAnnotatable。

  • 从 Grok 本身更新代码文档。

  • 在 Grok 的发布信息中使用 1.0b2 versions.cfg 而不是本地副本;所有 grokcore 包的本地副本太难维护了。

1.0.1 (2009-06-30)

  • 使用没有 distutils 错误的正确版本的 Python 重新上传到 pypi。

1.0 (2009-06-29)

  • 通过从 Grok 中提取基于本地站点的组件、grokkers 和指令来创建grokcore.site 。

下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

grokcore.site-3.1.tar.gz (19.4 kB 查看哈希

已上传 source