我正在使用django allauth获取所有signin, signup and logout
功能并且工作正常。
现在我有一个功能,
1.当用户首次注册并登录时,我需要将其重定向到成功页面/验证页面(/success/
)
2.当已经注册的用户登录时,他应该被重定向到/dashboard/
截至目前,我通过/dashboard/
LOGIN_REDIRECT_URL
的设置将用户(首次注册并已注册)重定向至settings.py
LOGIN_REDIRECT_URL = /dashboard/
此外,我观察到有一个名为last_login的字段/属性用于客户对象,我们可以使用它来查找用户的上次登录,是否有用?
model.py
from django.contrib.auth.models import User
class Profile(models.Model):
business_name = models.CharField(max_length = 45, null = False, blank = False)
user = models.ForeignKey(User, unique = True)
work_field = models.CharField(max_length = 45, null = False, blank = False)
image = models.ImageField(upload_to = '/images/', null = True, blank = True, max_length = 250)
image.allow_tags = True
url = models.URLField(max_length = 255, null = True, blank = True)
答案 0 :(得分:5)
我认为您可以查看 last_login 字段(如果您确定存在用户)。
尝试下一个:
profile.user.last_login == profile.user.date_joined: # this may be True if a user logins for a first time
OR
profile.user.last_login == None:
我不知道该字段的确切价值,但您可以尝试并找到首次注册用户的规则。
答案 1 :(得分:0)
使用authenticate()创建自定义视图,而不是当您获取用户对象时使用实例方法.last_login并且它将返回null或true,因此如果它反向,请使用字符串创建一个变量或者等。使用login()登录用户并返回由用户对象方法last_login决定的变量。您还必须找到一个模板并在yp ur urlconf上定义一个url。您可以找到许多模板,为您的视图创建自定义表单