烧瓶-如何挂接到所有@login_required装饰视图

时间:2019-05-16 13:57:52

标签: flask decorator

在我的Flask应用程序中,我有大约30个用 @login_required 装饰器装饰的视图。 我的目标是:我想调用python方法-每次调用装饰有 @login_required 的视图时,将其称为“ refreshSession()”。 有没有办法钩住这个装饰器?我不想写30行“ refreshSession()”。

1 个答案:

答案 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