簡體   English   中英

Django allauth中的動態login_redirect_url

[英]Dynamic login_redirect_url in Django allauth

我正在使用django-alluth進行社交登錄。 我擔心的是如何登錄特定的URL而不是settings.py文件中的固定LOGIN_REDIRECT_URL

當我嘗試刪除LOGIN_REDIRECT_URL並將我的登錄頁面url設置為accounts/login/?next=/some-url/它不起作用。 它重定向到accounts/profile ,這是我的代碼中的404。

LOGIN_REDIRECT_URL = '/afterlogin'
ACCOUNT_AUTHENTICATED_LOGIN_REDIRECTS = True

這對我有用......

您需要在DefaultAccountAdapter覆蓋get_login_redirect_url

# project/settings.py:
ACCOUNT_ADAPTER = 'project.users.adapter.MyAccountAdapter'

# project/users/adapter.py:
from django.conf import settings
from allauth.account.adapter import DefaultAccountAdapter

class MyAccountAdapter(DefaultAccountAdapter):

    def get_login_redirect_url(self, request):
        path = "/accounts/{username}/"
        return path.format(username=request.user.username)

文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM