2013-08-24 77 views
0

我需要存储关于用户的其他信息:最后只有一个用户登录的数据。 我的想法是对登录功能执行更新以正确存储此信息。 因为我使用的是通用的django登录函数,所以我希望在不改变现在正在工作的情况下执行它。Django - 扩展登录功能以保存最后一次登录日期时间

我的自定义用户模型:

class ExtendedUser(models.Model): 
    user = models.OneToOneField(User) 
    lbo_login = models.DateTimeField(auto_now_add = True) 

我的urls.py(调用内置登录功能)

url(r'^accounts/login/$', 'django.contrib.auth.views.login'), 

而且我的想法:

# login function 
# ... 
# Before storing the information of the current login, 
# Something like: 
user.extendeduser.lbo_login = user.last_login 
user.extendeduser.save() 
# continue with the login function and update the last login field 

你能帮忙我呢?我如何补充内置功能? 谢谢。

回答

1

有登录和Django的发送注销的信号,您可以使用此目的:https://docs.djangoproject.com/en/1.5/ref/contrib/auth/#module-django.contrib.auth.signals

+0

谢谢。这正是我所需要的。由于一旦注册完成并且用户last_login已更新,就会调用信号,我在自定义用户模型中创建了一个新字段。我的信号如下所示:'user.extendeduser.lbo_login = user.extendeduser.act_login user.extendeduser.act_login = user.last_login' – Miquel