repoze.bfg web框架的一个附加组件,它提供一个模型图遍历器,该遍历器代理不知道位置的模型对象。
repoze.bfg.traversalwrapper的Python项目详细描述
repoze.bfg.traversalwrapper
另一种实现 repoze.bfg.interfaces.ITraverserFactory(一个“遍历器”),它 在代理中包装每个遍历的对象。这允许 “位置无知”模型 __name__和__parent__属性)用作根 对象,作为从任何其他模型的 __getitem__方法在遍历期间。
当这个itraverserfactory注册为 repoze.bfg应用程序,在遍历期间,每个对象包括 根对象包装在代理中。提供 使用__name__和__parent__属性遍历对象。 根代理的__name__和__parent__属性是 两者都是None。后续遍历对象的__name__是 用于查找的Unicode URL段名称。这个 __parent__后续遍历的对象是前一个 对象已遍历。
为了启用此包的itraverserfactory,请注册 repoze.bfg.traversalwrapper.ModelGraphTraverser作为遍历 策略,而不是默认的ModelGraphTraverser。使用这个 功能,您的应用程序将需要依赖于 包,以及其configure.zcml中的以下节:
<adapter factory="repoze.bfg.traversalwrapper.ModelGraphTraverser" provides="repoze.bfg.interfaces.ITraverserFactory" for="*" />
注意
当使用这个itraverserfactory时, ^忽略对象的{tt2}$或__parent__属性。 即使图中的对象(包括根对象)具有 内在的__name__和__parent__属性,它仍然 被包装在覆盖对象“真实”的代理中 __parent__和__name__属性。
repoze.bfg.traversalwrapper更改日志
0.3(2009-06-22)
- 与BFG 1.0A1兼容。此版本不能保证 与1.0a1之前的任何bfg版本兼容。
0.2(2008-05-18)
- 使用来自itraverser的字典返回值 更改为0.8dev.
0.1
- 初始版本(功能从bfg核心移出)。