我有一个网站,我想在我的网站上找到在线用户的数量(所有登录到他们的帐户的用户):当他们离线或关闭页面时,,,在线用户的数量得到更新:我如何做到这一点?有没有库可以这样做?
发布于 2017-07-07 19:56:09
您可以向用户模型添加一个is_online BooleanField,并为您的用户模型创建自己的自定义authenticate 后端,该用户模型在身份验证后将is_online设置为true。
当用户关闭网页时,您可以有一个事件侦听器来发出Ajax请求,然后将用户is_online列在DB中设置为false,并将用户注销。
如果您不想将用户从会话中删除,则可能需要在其他地方添加其他逻辑,以便在用户返回网站时将该属性转换为真。
// OR
window.addEventListener("beforeunload", function(e){
// Do something
}, false);然后,您可以通过执行model.objects.filter(is_online=True)来查找在线用户,也可以在模型本身上创建一个自定义方法,该方法可以包含其他业务逻辑,或者可能发送电子邮件或其他东西。
https://stackoverflow.com/questions/44978609
复制相似问题