gpt4 book ai didi

django - Django:获取上次用户访问日期

转载 作者:行者123 更新时间:2023-12-03 10:53:30 25 4
gpt4 key购买 nike

在Django中,我们可以使用Auth.User.last_login来获取用户上次登录的时间。仅当用户使用其用户名/密码登录时才更新。假设用户已经登录并且身份验证信息保存在cookie中,因此无需登录即可访问该站点。如何获得用户先前访问该站点的日期?这对于查询(例如自上次访问以来获取新记录的数量)很有用。

最佳答案

示例模型:

class User(models.Model):
last_visit = models.DateTimeField(...)
...

将对所有登录用户执行的示例中间件:
from django.utils.timezone import now

class SetLastVisitMiddleware(object):
def process_response(self, request, response):
if request.user.is_authenticated():
# Update last visit time after request finished processing.
User.objects.filter(pk=request.user.pk).update(last_visit=now())
return response

将新的中间件添加到您的settings.py:
MIDDLEWARE_CLASSES = (
...
'path.to.your.SetLastVisitMiddleware',
...
)

警告:未经测试,但不需要安装外部软件包,并且只有5行代码。

在文档中查看更多关于 Middlewarecustom user models的信息(自Django 1.5起)

关于django - Django:获取上次用户访问日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18434364/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com