繁体   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