如何在django中为会话过期添加一个函数钩子?

时间:2014-04-10 09:17:54

标签: python django django-views django-sessions

我希望每次会话到期时都执行一个函数。比如,记录查看特定网页的人,当用户会话超时时,减少计数。

1 个答案:

答案 0 :(得分:0)

不要在会话到期时尝试执行函数,而应该只从数据库中查询Django会话表来计算活动会话。
我不记得确切的数据库架构,但查询看起来类似于:

SELECT COUNT(*) FROM django_session_table WHERE expires > NOW();

正如我所说,你必须改变数据库表和列名,并且检索当前时间的函数是DBMS依赖的 - NOW()在PostgreSQL中有效。请将此查询视为伪代码。目前我没有可能检查Django数据库模式,但由于你使用数据库支持的会话,你已经在数据库中有这些,所以检查数据库表和列名称不应该是一个问题。