欢迎访问宙启技术站
智能推送

Python中如何使用set_session()来设置会话过期时间

发布时间:2023-12-23 00:03:30

在Python中使用set_session()来设置会话过期时间,需要先导入session模块,然后通过创建和配置session对象来实现。

下面是一个使用set_session()设置会话过期时间的示例代码:

from flask import Flask, session

app = Flask(__name__)
app.secret_key = "your_secret_key"

@app.route('/')
def index():
    session['username'] = 'John'
    session.permanent = True  # 设置会话为永久有效
    app.permanent_session_lifetime = timedelta(minutes=30)  # 设置会话过期时间为30分钟
    return "Session set with username: John"

if __name__ == '__main__':
    app.run()

在上述代码中,首先我们导入了Flasksession模块。

然后,我们创建了一个Flask对象,并设置了secret_keysecret_key是用于对会话数据进行加密的密钥,确保会话数据的安全。

接下来,在路由函数index()中,我们通过session对象将username设置为John。然后,通过设置session.permanentTrue,将会话设置为永久有效。

然后,通过app.permanent_session_lifetime属性,设置会话过期时间为30分钟。我们使用timedelta模块来指定时间间隔。

最后,我们返回一个简单的字符串,表示会话被设置为John

这样,当用户访问网页时,会话会被设置为John,并在30分钟后过期。

要注意的是,需要在启动应用程序之前设置会话过期时间。可以通过在if __name__ == '__main__'中添加相关代码来实现。

另外,还可以使用session.permanent_session_lifetime设置会话过期时间为永不过期,即session.permanent_session_lifetime = timedelta(days=365)

此外,还可以在视图函数中使用session.modified = True来更新会话过期时间,以保持会话的活跃状态。