Python中如何设置和获取Session()的过期时间
发布时间:2024-01-12 08:22:43
在Python中使用Session()对象时,可以设置和获取Session的过期时间。Session通过设置过期时间来确定何时自动过期。过期时间可以通过在Session()对象中设置expires参数来实现。expires参数接受一个datetime对象作为过期时间。
下面是一个示例将过期时间设置为30分钟的例子:
from datetime import datetime, timedelta
from flask import Flask, session
app = Flask(__name__)
# 设置过期时间为30分钟
app.config['PERMANENT_SESSION_LIFETIME'] = timedelta(minutes=30)
@app.route('/')
def index():
# 获取当前时间
now = datetime.now()
# 检查Session是否存在
if 'last_visit' in session:
# 获取Session中存储的上一次访问时间
last_visit = session['last_visit']
else:
# 如果之前没有访问过,则将当前时间存储到Session中
session['last_visit'] = now
last_visit = now
# 更新Session中的上次访问时间为当前时间
session['last_visit'] = now
# 返回上一次访问时间和当前时间的差值
return 'Last visited: {}<br>Current time: {}'.format(last_visit, now)
if __name__ == '__main__':
app.run()
在上面的例子中,利用Flask框架创建了一个简单的应用程序。在应用程序中,使用app.config['PERMANENT_SESSION_LIFETIME']来设置Session的过期时间为30分钟。每次访问应用程序时,先检查Session是否存在。如果存在,则获取存储的上一次访问时间,如果不存在,则将当前时间存储在Session中。然后更新Session中的上次访问时间为当前时间。最后返回上一次访问时间和当前时间的差值。
需要注意的是,Session的过期时间并不是立即过期的,而是在过期时间后的 个请求时才过期。因此,在设置和获取Session过期时间后需要进行相应的判断逻辑来确定是否过期。
除了以上例子中使用的Flask框架外,其他的Python web框架也提供了设置和获取Session过期时间的功能,在具体使用时可以参考相应的文档进行操作。
