我爲我的登錄/註冊相關內容使用Django-allauth,所以當用戶註冊(第一次)到我的網站時,我將他重定向到/thanks/
頁面在settings.py
文件中定義如下設置用django-allauth登錄信號將用戶重定向到另一個網址
LOGIN_REDIRECT_URL =「/謝謝/」
但是,當用戶試圖登錄,在未來的時間(如果已經註冊),我要他重定向到'/dashboard/'
URL
所以試圖改變Django-allauth signals
像下面這是不workin處的G所有
@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/
,我的邏輯在確定第一次用戶錯了?
謝謝pennersr,我上面編輯過我的anser,你能幫我解決嗎? –
我們也可以爲用戶提供重新發送確認電子郵件的選項嗎?如果他沒有確認登記? –
您是否嘗試過檢查last_login/date_joined的值?只要用戶嘗試使用未經驗證的電子郵件登錄,就會自動重新發送確認電子郵件。請注意,爲了防止郵件轟炸,只有當登錄嘗試間隔3分鐘左右時纔會進行。 – pennersr