pyramid.registry
¶
- class Registry(package_name=pyramid.path.CALLER_PACKAGE, *args, **kw)[源代码]¶
注册表对象是 application registry .
框架本身使用它来执行URL映射,以查看可调用文件,并为其他各种框架职责提供服务。注册中心有自己的内部API,但这个API很少被Pyramid应用程序开发人员使用(它通常只被Pyramid框架和Pyramid加载项的开发人员使用)。但是,它有许多属性可能对应用程序代码中的应用程序开发人员有用,例如
settings
,这是一个包含应用程序部署设置的字典。有关应用程序注册表的用途和用法的信息,请参阅 在 Pyramid .
注册表可以同时用作
pyramid.interfaces.IDict
作为Zope组件注册表。这两种存储配置的方法是独立的。应用程序倾向于将信息存储为键值,而加载项可能倾向于使用组件注册表来避免命名冲突,并提供更复杂的查找机制。应用程序注册表通常访问为
request.registry
在应用程序代码中。当使用注册表处理请求时,应该将其视为冻结的和只读的。对其内部状态的任何更改都应该谨慎并考虑线程安全。- settings¶
字典就像 deployment settings 对象。参见 部署设置 以获取信息。此对象通常访问为
request.registry.settings
或config.registry.settings
在典型的Pyramid应用程序中。
- package_name¶
在 1.6 版本加入.
当注册表由 Configurator ,此属性将是
pyramid.config.Configurator.package_name
.此属性通常访问为
request.registry.package_name
或config.registry.package_name
或config.package_name
在典型的Pyramid应用程序中。
- introspector¶
在 1.3 版本加入.
当注册表由 Configurator ,注册表将用名为
introspector
实施pyramid.interfaces.IIntrospector
接口。然而,当一个注册表是“手工”创建的时,这个属性将不存在,直到由配置程序设置。
此属性通常访问为
request.registry.introspector
在典型的Pyramid应用程序中。
- class Introspectable[源代码]¶
在 1.3 版本加入.
接口的默认实现
pyramid.interfaces.IIntrospectable
由框架执行器使用。当pyramid.config.Configurator.introspectable
被称为。
- class Deferred(func)[源代码]¶
可由第三方配置扩展程序用于包装 discriminator 在配置过程中,如果由于依赖未解析的值而无法计算即时哈希鉴别器。函数不应接受任何参数,并应返回可哈希鉴别器。
在 1.4 版本加入.
- undefer(v)[源代码]¶
接受一个对象并返回它的函数,除非它是
pyramid.registry.Deferred
实例。如果它是该类的实例,则resolve
方法,并返回该方法的结果。在 1.4 版本加入.