下面是我想要做的事情的要點。我有對象的列表,而且我知道他們有看起來像一個實例方法:在Python中裝飾實例方法
def render(self, name, value, attrs)
# Renders a widget...
我想(essentialy)在運行時裝飾這些功能,因爲我遍歷對象的列表。所以,他們的渲染功能成爲這個:
def render(self, name, value, attrs)
self.attrs=attrs
# Renders a widget...
兩個注意事項:
- 渲染功能的Django的一部分。我不能在他們的庫中放置一個裝飾器(當然,我可以,但是我必須維護並遷移這個更改)。
- 這是一個實例方法。
這裏的一個例子: http://wiki.python.org/moin/PythonDecoratorLibrary
顯示瞭如何將新的實例方法添加到一個類。這裏的區別是我想記住attrs參數後想要回到原來的方法。
你從頭頂寫了這段代碼,不是嗎? :) – Stephan202
@ Stephan202,是的,有沒有你必須編輯的錯字? –
@Alex:是的,請參閱修訂歷史記錄。 'setattr'作爲第二個參數傳遞了'f'而不是'n'。 – Stephan202