Flask 确定用户何时通过常规登录或“记住”登录

Flask 确定用户何时通过常规登录或“记住”登录,flask,flask-login,Flask,Flask Login,我想存储每个用户登录的时间和日期。 将此代码放入常规登录视图很简单 当使用时会出现问题-登录不再被调用,这使我无法知道登录是否是新的 我已尝试用户登录,用户登录确认信号由Flask login提供: def user_logged_in_callback(*args, **kwargs): import ipdb;ipdb.set_trace() user_logged_in.connect(user_logged_in_callback, app) user_login_

我想存储每个用户登录的时间和日期。 将此代码放入常规登录视图很简单

当使用时会出现问题-登录不再被调用,这使我无法知道登录是否是新的

我已尝试用户登录,用户登录确认信号由Flask login提供:

 def  user_logged_in_callback(*args, **kwargs):
      import ipdb;ipdb.set_trace()

 user_logged_in.connect(user_logged_in_callback, app)
 user_login_confirmed.connect(user_logged_in_callback, app)

“用户登录”仅在常规登录时被调用,而“用户登录确认”似乎根本不会被调用。

在登录后再次获取用户称为“用户加载”,实际上不是登录事件,它仍然是同一个用户,但是它没有被记录下来

您可以使用
user\u loaded\u from\u cookie
信号:

from flask_login import user_loaded_from_cookie

user_loaded_from_cookie.connect(user_login_callback, app)

user\u login\u confirm
用于刷新登录时-需要重新登录,用户重新输入密码


如果您只想记录用户上次访问站点的时间,您可以使用
应用程序。在请求之前,您不需要处理登录事件

@app.before_request
def track_user():
    if current_user.is_authenticated():
        current_user.last_seen = datetime.utcnow()