在我的Flask应用程序中,我有大约30个用 @login_required 装饰器装饰的视图。 我的目标是:我想调用python方法-每次调用装饰有 @login_required 的视图时,将其称为“ refreshSession()”。 有没有办法钩住这个装饰器?我不想写30行“ refreshSession()”。
答案 0 :(得分:0)
据我所知,无法直接挂接到@login_required装饰器。
也许您应该尝试在Flask-Login refreshSession
函数上调用user_loader
?
更多信息:https://flask-login.readthedocs.io/en/latest/#flask_login.LoginManager.user_loader
类似这样的东西:
from flask_login import LoginManager
login_manager = LoginManager()
@login_manager.user_loader
def load_user(user_id):
refreshSession()
# Fetch user from database
user = User.get_by_id(user_id)
return user