我有一個Python對象,它是容器子類的一個實例。因此,該對象x
的行爲可能與x['name']
相似。這個對象也有方法,說x.bar()
。從Django模板訪問容器的方法
如何從Django模板中調用x.bar
?首先將模板x.bar
評估爲x['bar']
,這會給出None
。
我能想到的最好的方法是創建一個對象陰影x
,即沒有getitem
。但我不能delattr
__getitem__
。
有什麼更好的點子?在上下文或模板標籤中手動傳遞這些調用的結果的缺點。
謝謝。
我想我可以創建一個代理類並使用__getattr__來調用對象中的方法。 – Overclocked