Ich versuche, eine Methode innerhalb einer Klasse zu dekorieren, aber Python gibt einen Fehler aus. Meine Klasse sieht wie folgt aus:
from pageutils import formatHeader
class myPage(object):
def __init__(self):
self.PageName = ''
def createPage(self):
pageHeader = self.createHeader()
@formatHeader #<----- decorator
def createHeader(self):
return "Page Header ",self.PageName
if __name__=="__main__":
page = myPage()
page.PageName = 'My Page'
page.createPage()
pageutils.py
:
def formatHeader(fn):
def wrapped():
return '<div class="page_header">'+fn()+'</div>'
return wrapped
Python gibt den folgenden Fehler aus
self.createHeader()
TypeError: wrapped() takes no arguments (1 given)
Wo habe ich gepatzt?