我有一个Python对象,它是容器子类的一个实例。因此,该对象x
的行为可能与x['name']
相似。这个对象也有方法,说x.bar()
。从Django模板访问容器的方法
如何从Django模板中调用x.bar
?首先将模板x.bar
评估为x['bar']
,这会给出None
。
我能想到的最好的方法是创建一个对象阴影x
,即没有getitem
。但我不能delattr
__getitem__
。
有什么更好的点子?在上下文或模板标签中手动传递这些调用的结果的缺点。
谢谢。
我想我可以创建一个代理类并使用__getattr__来调用对象中的方法。 – Overclocked