如何在django中显示用户上次见到(在线)的时间? 是否有任何默认函数或库来导入它?
或者如果github有任何代码请告诉我
**注意:**当用户关闭页面或断开时间更新时
答案 0 :(得分:1)
您应该在用户模型中继承django的AbstractBaseUser,它已经具有内置的last_login属性。实际上,在django默认身份验证模块中提供用于创建用户的AbstractBaseUser
被认为是一种很好的做法。
答案 1 :(得分:0)
选项很少。
您可以在视图中添加代码以检查用户或会话ID(取决于您希望它如何工作。对于注册用户或每个用户或......)以及每次用户请求页面时,您可以在此时更新此用户在网站上处于活动状态。 但是当你需要在一个页面很少的小项目中跟踪用户时,这个选项似乎是可用的。
另一种看似更合适的选择是使用中间件。通过使用中间件,您无需在所有视图中更改代码。只需制作一个自定义中间件,一切都将用几行代码完成
您可以在此处查看此中间件的示例:
Django: How can I check the last activity time of user if user didn't log out?
或
Django get last user visit date
对于断开连接的部分,我认为你不能用django做很多事情。并且您无法确定用户何时关闭页面。
这里最好的选择是使用javascript代码每隔10秒运行一次并告诉django用户仍然在页面上。