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()
在上述代码中,首先我们导入了Flask和session模块。
然后,我们创建了一个Flask对象,并设置了secret_key。secret_key是用于对会话数据进行加密的密钥,确保会话数据的安全。
接下来,在路由函数index()中,我们通过session对象将username设置为John。然后,通过设置session.permanent为True,将会话设置为永久有效。
然后,通过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来更新会话过期时间,以保持会话的活跃状态。
