2

您可以使用 Zope 3 进行 IMyInterface(context) 查找,它会自动映射到 getAdapter()。

但是,是否存在等效的多适配器。就像是:

  portal_state = IPortalState((self.context, self.request))

将映射到

  portal_state = getMultiAdapter((self.context, self.request), interface=IPortalState)
4

2 回答 2

4

没有这样的捷径。您的第一个示例是调整元组(也需要支持的一般情况)。

这在名单上已经讨论过很多次了,但我记不起细节的来龙去脉了。如果你必须知道,你可以从以下线程开始:http: //tech.groups.yahoo.com/group/zope/message/185605

于 2012-05-20T13:17:12.653 回答
3

不,没有多适配器查找的简写。在http://groups.google.com/group/zope-core-dev/browse_thread/thread/156acde2c8e799c7/63ca158f076ed010?pli=1结束的讨论中给出的原因是 zope.interface 的一些用户依赖于能够对元组进行单次适配。

于 2012-05-20T13:18:30.667 回答