Django - 为会话中的某个键设置过期时间

时间:2014-10-06 10:23:57

标签: python django session django-sessions

我正在创建一个Django应用程序,允许访问者每周对列表进行一次投票。我的应用程序没有用户模型,因此我要做的是将特定密钥的会话设置为True,以表示用户已对该列表进行了投票。例如

request.session['a'] = True
request.session.set_expiry(604800)

这样可以正常工作但会话到期是为整个会话设置的,而不仅仅是那个键。如何在Django会话中为特定密钥设置到期日期?

1 个答案:

答案 0 :(得分:2)

据我所知,没有办法让特定的密钥过期。作为一种解决方法,我建议存储日期/时间,以便' a'已设置或更新。

使用此数据,您可以创建一个中间件,根据会话数据的大小,可能会相当繁重,或者创建一个cron作业,以定期运行,以使所有键设置的日期/时间到期/更新超出了你的门槛。