当访问者通过已保存的会话进行身份验证时,Django似乎不会更新auth_user模型中的last_login字段。
因此,在这种情况下,如何在每个SO用户的个人资料页面上实现类似“看到”字段的类似功能。
答案 0 :(得分:10)
假设您在自定义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