我正在使用Flask和Flask-Login在Web服務器上工作。它一直在工作,直到我需要將它移動到一個班級。這是因爲裝修的破:之前我有代碼Python裝飾器和類
login_manager = LoginManager(app)
...
@login_required
def control_panel():
return render_template(...)
但這現在變成:
class webserver:
def __init__(self):
self.login_manager = LoginManager(app)
...
@login_required
def control_panel(self):
return self.render_template(...)
的問題是,我真的需要寫,
@self.login_required
但是無效的語法。我該如何克服這一點?
謝謝!
爲什麼你需要寫'@ self' ? –
因爲它不會識別login_required,因爲它是login_manager的一部分,它變成了self.login_manager – Jacob
這沒有任何意義。如果它是類的一個屬性,它只是「自我」,事實並非如此。 –