[英]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.