Django:在会话过期之前调用一个函数

Django: calling a function before session expires

所以我正在使用 request.session.set_expiry(NUMBER_OF_SECONDS) 来检查我的网页的用户是否已处于非活动状态数秒,并在发生这种情况时关闭会话。问题是我想在会话到期之前调用一个函数来做一些事情,但我不知道该怎么做。

提前致谢!

你不能。

这个问题暴露了对会话和 Web 应用程序如何工作的根本误解。 Web 代码是无状态的;在用户发出的请求之间,任何用户都没有 "running"。如果用户在超过会话超时的时间内没有发出任何请求,服务器代码知道它的唯一时间是他们实际发出请求的下一个时间:此时代码会将上次请求时间与当前时间进行比较,并将会话视为有效或已过期。如果用户离开后再也没有回来,服务器根本就不可能知道。