django版本:2.2
request.session的常用方法
get(key,default=None)
Example: fav_color = request.session.get('fav_color','red')
pop(key,default=__not_given)
Example: fav_color = request.session.pop('fav_color','blue')
keys
flush
从会话中删除当前session数据并删除session cookie。 如果您要确保不再能从用户的浏览器中访问以前的session数据(可以使用django.contrib.auth.logout()函数调用它),则使用此方法。
create
save
exists
delete
set_expiry
设置会话的到期时间。 您可以传递许多不同的值:
如果value是整数,那么session将在指定秒后过期。 例如,调用request.session.set_expiry(300)将使session在5分钟后过期。
如果value是datetime或timedelta对象,则会话将在该特定日期/时间过期。 请注意,只有在使用PickleSerializer时,datetime和timedelta值才能序列化。
如果值为0,则当用户的Web浏览器关闭时,该用户的session Cookie将会过期。
如果值是None,则会话将恢复为使用全局session到期策略。
session到期时间是从上次修改session开始计算的。
get_expiry_age()
返回此session到期之前的秒数。 对于没有自定义到期时间的session(或设置为在浏览器关闭时到期的session),这将等于SESSION_COOKIE_AGE。
此函数接受两个可选的关键字参数:
modification:session的最后修改,作为日期时间对象。 默认为当前时间。
expiry:session的有效期信息,以日期时间对象,整数(以秒为单位)或无。 如果为1,则默认为set_expiry()在会话中存储的值,否则为None。
clear_expired
从session存储中删除过期的session。 此类方法由clearsessions调用。
官方文档:
https://docs.djangoproject.com/en/2.2/topics/http/sessions/