auth_user 模型中的 Django "last_login"属性

标签 django authentication session

当访问者通过保存的 session 进行身份验证时,Django 似乎不会更新 auth_user 模型中的 last_login 字段。

因此,在这种情况下,我如何在每个 SO 用户的个人资料页面上实现类似的功能,例如“已查看”字段。

最佳答案

假设您的自定义 UserProfile 模型中有 last_seen_on 和 last_activity_ip 字段,下面是一个简单的中间件类,可以执行您想要的操作:

import datetime

class LastSeen(object):

    def process_request(self, request):
        user = request.user
        if not user.is_authenticated(): return None  
        up = user.get_profile()
        up.last_seen_on = datetime.now()
        up.last_activity_ip = request.META['REMOTE_ADDR']
        up.save()
        return None

关于auth_user 模型中的 Django "last_login"属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2440603/

相关文章:

c# - 有没有办法在 ASP.NET 中将身份验证从一个 Web 应用程序持久保存到另一个嵌套的 Web 应用程序?

php - 检索 php session 值之后用作变量?

mysql - 在 Nodejs 中没有关于任何其他用户的最后发布信息

azure - 单点登录时如何使用 powershell 将 Azure 中的 API 连接授权为不同用户

python - 可以为 Python Flask 中的不同用户创建不同的 session 超时长度吗?

mysql - Django:更大的查询集和小号。数据库命中率,反之亦然

mysql - 注释附加到特定对象的 django-taggit 标签

Django - 更新模型不会删除旧的 FileField

django: celery vs channel vs in-view

azure - JWT 验证应该在 APIM+AZ 函数堆栈中发生在哪里?