【问题标题】:Last seen a user in django最后一次在 django 中看到用户
【发布时间】:2017-07-08 07:59:09
【问题描述】:

如何在 django 中显示用户最后一次看到(在线)的时间? 是否有任何默认函数或库可以导入它来做到这一点?

或者如果有任何code inn github请告诉我

**注意:**当用户关闭页面或断开连接时更新

【问题讨论】:

  • 您需要向我们展示您的尝试。你的问题不是很清楚。
  • 在最后一次看到的更新视图中使用 javascript 会很容易

标签: python django python-2.7 django-views


【解决方案1】:

你应该在你的用户模型中继承 django 的 AbstractBaseUser,它已经有一个内置的 last_login 属性。事实上,继承AbstractBaseUser 来创建用户是一种很好的做法,这是在 django 默认身份验证模块中提供的。

【讨论】:

    【解决方案2】:

    选项很少。

    您可以在视图中添加代码以检查用户或会话 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 用户仍在页面上。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-18
      • 2016-11-03
      • 2014-01-16
      • 1970-01-01
      • 2015-01-14
      • 1970-01-01
      • 2016-04-10
      • 2023-03-05
      相关资源
      最近更新 更多