重定向到 django-allauth 中的 ?next=/accounts/social/connections/
Redirect to ?next=/accounts/social/connections/ in django-allauth
我试图在 /account/profile
重定向,但我在使用 django-allauth 时被重定向到 ?next=/accounts/social/connections/
。
有什么想法吗?我的 settings.py
我已经设置
LOGIN_REDIRECT_URL = '/'
在我的推特应用程序上,回调 url 设置为 http://127.0.0.1:8000/accounts/twitter/login/callback/
。
我也试过创建适配器:
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)
并在 settings.py
内:
ACCOUNT_ADAPTER = 'sleep.adapter.MyAccountAdapter'
但它再次将我重定向到:
localhost:8000/accounts/login/?next=/accounts/social/connections/
.
这里可能会发生一些事情:
1) 社交媒体登录使用 SOCIALACCOUNT_ADAPTER
(而非 ACCOUNT_ADAPTER
)在 settings.py
中指定的 class。因此,对于您当前的 settings.py
,当您连接到 Twitter 时,它不会调用 sleep.adapter.MyAccountAdapter.get_login_redirect_url()
。
2) /accounts/social/connections/
是名为 socialaccount_connections
的视图的默认值 URL。您可能正在尝试 连接 您的 Twitter 帐户,而不是通过 Twitter 登录。
确保模板中的 provider_login_url
标记 未使用 process="connect" 参数。
{% load socialaccount %}
{% providers_media_js %}
<a href="{% provider_login_url "facebook" process="login" method="js_sdk" %}">Login with your Facebook Account</a>
我试图在 /account/profile
重定向,但我在使用 django-allauth 时被重定向到 ?next=/accounts/social/connections/
。
有什么想法吗?我的 settings.py
我已经设置
LOGIN_REDIRECT_URL = '/'
在我的推特应用程序上,回调 url 设置为 http://127.0.0.1:8000/accounts/twitter/login/callback/
。
我也试过创建适配器:
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)
并在 settings.py
内:
ACCOUNT_ADAPTER = 'sleep.adapter.MyAccountAdapter'
但它再次将我重定向到:
localhost:8000/accounts/login/?next=/accounts/social/connections/
.
这里可能会发生一些事情:
1) 社交媒体登录使用 SOCIALACCOUNT_ADAPTER
(而非 ACCOUNT_ADAPTER
)在 settings.py
中指定的 class。因此,对于您当前的 settings.py
,当您连接到 Twitter 时,它不会调用 sleep.adapter.MyAccountAdapter.get_login_redirect_url()
。
2) /accounts/social/connections/
是名为 socialaccount_connections
的视图的默认值 URL。您可能正在尝试 连接 您的 Twitter 帐户,而不是通过 Twitter 登录。
确保模板中的 provider_login_url
标记 未使用 process="connect" 参数。
{% load socialaccount %}
{% providers_media_js %}
<a href="{% provider_login_url "facebook" process="login" method="js_sdk" %}">Login with your Facebook Account</a>