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