我正在使用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
这没有任何意义。如果它是类的一个属性,它只是“自我”,事实并非如此。 –