跳转到主要内容

基于组件架构的词汇注册

项目描述

本软件包提供基于组件架构的词汇注册。

基于组件的词汇注册

本软件包提供了基于组件架构的zope.schema词汇注册。

注意:此功能已被zope.vocabularyregistry取代。这些导入继续用于向后兼容。

当导入zope.app.schema软件包时,它将替换zope.schema的简单词汇注册,因此这是自动完成的。我们只需要提供词汇工厂工具

>>> import zope.app.schema
>>> from zope.component import provideUtility
>>> from zope.schema.interfaces import IVocabularyFactory
>>> from zope.schema.vocabulary import SimpleTerm
>>> from zope.schema.vocabulary import SimpleVocabulary
>>> def SomeVocabulary(context=None):
...     terms = [SimpleTerm(1), SimpleTerm(2)]
...     return SimpleVocabulary(terms)
>>> provideUtility(SomeVocabulary, IVocabularyFactory,
...                name='SomeVocabulary')

现在我们可以使用标准的zope.schema方式获取词汇

>>> from zope.schema.vocabulary import getVocabularyRegistry
>>> vr = getVocabularyRegistry()
>>> voc = vr.get(None, 'SomeVocabulary')
>>> [term.value for term in voc]
[1, 2]

配置

本软件包提供配置,用于设置zope.schema中提供对象的权限和安全工厂。必须安装zope.security软件包才能使用它。

>>> from zope.configuration import xmlconfig
>>> _ = xmlconfig.string(r"""
... <configure xmlns="http://namespaces.zope.org/zope" i18n_domain="zope">
...   <include package="zope.app.schema" />
... </configure>
... """)

变更记录

5.0 (2023-02-07)

  • 放弃对Python 2.7、3.5、3.6的支持。

  • 添加对Python 3.7、3.8、3.9、3.10、3.11的支持。

4.1.0 (2017-05-10)

  • 将本地实现的ZopeVocabularyRegistry替换为从zope.vocabularyregistry导入的版本。保留向后兼容的导入。

4.0.1 (2017-05-10)

  • 打包:添加Python版本和实现分类器。

4.0.0 (2017-04-17)

  • 增加了对Python 3.5、3.6和PyPy的支持。

  • 添加了对tox的支持。

  • 由于不再需要,删除了对zope.app.testing的依赖。

3.6.0 (2017-04-17)

  • 包括清单在内的现代化打包。

3.5.0 (2008-12-16)

  • 删除了过时的vocabulary指令。

  • 添加了针对基于组件的词汇注册表的测试。

3.4.0 (2007-10-27)

  • 首次发布,独立于主Zope树。

项目详情


下载文件

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

源代码分发

zope.app.schema-5.0.tar.gz (8.3 kB 查看哈希值)

上传时间: 源代码

构建分发

zope.app.schema-5.0-py3-none-any.whl (8.5 kB 查看哈希值)

上传时间: Python 3

由以下支持