Django User Agents 使用指南
from django.contrib.auth.models import AnonymousUser
from django.utils import timezone
from django.utils.deprecation import MiddlewareMixin
class UserActivityMiddleware(MiddlewareMixin):
def process_request(self, request):
# 如果用户已登录,记录用户的最后访问时间和IP
if hasattr(request, 'user') and request.user.is_authenticated:
request.user.last_login = timezone.now()
request.user.save()
def process_response(self, request, response):
# 如果用户是匿名用户,则记录他们的最后访问时间和IP
if isinstance(getattr(request, 'user', None), AnonymousUser):
# 这里应该有代码来记录匿名用户的最后访问时间和IP
pass
return response
这个代码示例展示了如何在Django中使用Middleware来记录用户的最后登录时间。对于匿名用户,我们通过Middleware来捕获请求并执行相应的记录操作。这里省略了具体的记录IP地址的代码,因为这取决于你的应用程序如何处理用户的IP地址。
评论已关闭