将持续时间参数添加到Flask_login

时间:2019-04-11 18:21:29

标签: python flask flask-login

当我通过Flask_login传递duration参数时,出现TypeError错误。我在这里做错什么了吗?

我正在使用通过Flask_login包公开的login_user()类。我使用的是python 2.7和Flask-Login版本0.2.11。由于初始设置的效果很好,并且我可以通过login_user()类跳过用户和记住参数,而没有任何问题。但是,默认的记住cookie设置为365天,我想减少这一点。根据文档(可在https://flask-login.readthedocs.io/en/latest/#flask_login.login_user找到),我还应该能够传递一个duration参数来设置“记住我” cookie的长度。但是,当我传递duration参数时,我得到一个TypeError,说“ duration”是一个意外的关键字参数。下面是我使用的代码片段:

首先,我在views.py文件顶部设置一个烹饪长度变量:

REMEMBER_COOKIE_DURATION = datetime.timedelta(minutes=5)

然后我继续调用login_user()类,并尝试将duration参数与用户一起传递并记住参数:

if u.active and login_user(u, remember=remember, duration=REMEMBER_COOKIE_DURATION):
                    u.update_activity_tracking(request.remote_addr)

调用此类时,出现以下错误消息:

TypeError: login_user() got an unexpected keyword argument 'duration'

我不确定为什么这不起作用并出现TypeError。难道我做错了什么?如前所述,在删除持续时间时,该类可以正常运行。

1 个答案:

答案 0 :(得分:1)

好像我的Flask_login版本不接受duration参数。我的版本更新解决了该问题。