django request.session模块创建、修改、设置sesion有效期

前端之家收集整理的这篇文章主要介绍了django request.session模块创建、修改、设置sesion有效期前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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


官方文档:
https://docs.djangoproject.com/en/2.2/topics/http/sessions/

猜你在找的Django相关文章