如何在Django中触发会话超时操作

时间:2014-11-26 09:42:46

标签: django session

我想知道每当会话超时发生时我怎么能触发一个动作。有没有办法设置一个在会话数据被销毁之前执行的回调函数?我需要一个适用于未经身份验证的用户的解决方案。

1 个答案:

答案 0 :(得分:0)

假设您正在使用默认会话数据库后端,您可以使用Django信号来检测会话从数据库中删除的时间,遵循类似于此的方法:

Django - detect session start and end

请注意,在Django 1.5+中,使用的命令是clearsessions,而不是清理。

有关详细信息,请参阅clearing the session store上的官方文档。

如果你的cronjob配置不可行,你也可以通过这样的方式清除你的一个视图中的会话存储:

from django.core import management
management.call_command('clearsessions')