我想显示当前在特定页面上的在线用户数。我该如何实施呢?
TIA
答案 0 :(得分:3)
Django纯粹是服务器端技术,它通常使用html或json响应http连接。没有固有的方法来识别服务器上用户的当前页面,只是可能已经请求的最后一页 - 用户可能正在查看不同的选项卡,已离开站点,或者页面可能已从浏览器缓存重新加载
可以在每个页面上创建一个Javascript / JQuery插件,以监控用户的行为并使用ajax与django进行通信,例如:How can I detect with JavaScript/jQuery if the user is currently active on the page?。
使用Javascript的'心跳'功能可能会起作用。这将每隔5秒左右与你的django网络应用程序连接,应用程序可以保留唯一用户的数量,如果没有收到心跳,则递减计数器。
这是你想要的吗?如果需要,我很乐意发布一些示例代码。
此解决方案每5秒钟准确一次。如django-tracker
之类的问题会给出一个不太准确的答案,它跟踪用户上次访问过的页面,此外它还记录了您网站中的用户活动。