我正在使用Django-allauth来处理登录/注册相关的事宜,因此当用户第一次在我的网站上注册时,我通过在
所以我尝试像下面这样通过
settings.py
文件中定义以下设置将其重定向到/thanks/
页面:
< p > LOGIN_REDIRECT_URL = '/thanks/'
但是当用户尝试再次登录(如果已经注册),我应该将他重定向到'/dashboard/'
URL。所以我尝试像下面这样通过
Django-allauth signals
进行修改,但根本不起作用。@receiver(allauth.account.signals.user_logged_in)
def registered_user_login(sender, **kwargs):
instance = User.objects.get_by_natural_key(kwargs['user'])
print instance.last_login==instance.date_joined,"??????????????????????????????"
if not instance.last_login==instance.date_joined:
return HttpResponseRedirect(reverse('dashboard'))
有谁能告诉我如何在正常登录时将用户重定向到/dashboard/
,我在上面的信号代码中做错了什么吗?
编辑
根据pennersr
的回答进行一些修改后,我的AccountAdapter
类如下所示:
from allauth.account.adapter import DefaultAccountAdapter
# from django.contrib.auth.models import User
class AccountAdapter(DefaultAccountAdapter):
def get_login_redirect_url(self, request):
if request.user.last_login == request.user.date_joined:
return '/registration/success/'
else:
return '/dashboard/'
但是,它仍然将用户重定向到/dashboard/
,我的逻辑判断首次用户的方法有误吗?