django跟踪最近的在线用户

django跟踪最近的在线用户,django,session,Django,Session,有没有办法追踪django中的活跃用户 我在网上看到了一些解决这个问题的方法: 作为其中之一。但是仅仅为了解决这个简单的问题而修改模型结构似乎有些奇怪。我想知道是否有任何快速的解决办法 django auth中的last_login字段也没有多大用处,因为它只记录用户登录的时间,如果用户已在会话中很长时间,则该字段不会更新。修改auth用户模型可能不是一种非常“灵活”的方法 最简单的方法可能是提供一个概要文件——Django有一个内置的支持,可以提供一个用户概要文件模型,用于存储额外的用户相关

有没有办法追踪django中的活跃用户

我在网上看到了一些解决这个问题的方法:

作为其中之一。但是仅仅为了解决这个简单的问题而修改模型结构似乎有些奇怪。我想知道是否有任何快速的解决办法


django auth中的last_login字段也没有多大用处,因为它只记录用户登录的时间,如果用户已在会话中很长时间,则该字段不会更新。修改auth用户模型可能不是一种非常“灵活”的方法

最简单的方法可能是提供一个概要文件——Django有一个内置的支持,可以提供一个用户概要文件模型,用于存储额外的用户相关数据,而无需修改任何内置模型


您只需将上次活动时间存储在用户的配置文件中。

我同意最好的方法是使用配置文件。这将为Users表提供一个外键,而不是修改现有表


就如何记录用户操作而言,一种模式可能是编写一个装饰器来包装所有要记录的视图。装饰者只需根据相关用户的个人资料记录时间和操作。

我就是那个博客的作者:)

我没有修改用户模型,我对其进行了扩展,它与概要文件相同,但我想让它成为一种方式,如果您已经定义了概要文件,您仍然可以使用我的方法

我认为扩展用户模型是处理它的最佳方式,我不知道是否有任何反对它的地方。

试试这个解决方案:

  • 使用user.id作为外键创建类似“profile”的模型
  • 创建纵断面图,当用户登录时,更改状态 从离线到在线

    • 您还可以使用该视图检查上次登录“X”的用户 会议记录
  • 使用jquery关闭窗口或注销窗口时的句柄 从“查看配置文件”将状态从联机更改为脱机


  • 我已经在使用扩展模型了。我想说的是,我需要直接获取活动用户状态,而不需要在模型中添加“last_activity_ip”和“last_activity_date”。但在这种情况下,你的解决方案似乎是最好的办法。