我正在尝试重定向/account/profile
,但我在使用django-allauth时被重定向到?next=/accounts/social/connections/
。
有什么想法吗?我的settings.py
已经确定了
LOGIN_REDIRECT_URL = '/'
并且在我的Twitter应用中,回调网址设置为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/
。
答案 0 :(得分:1)
可能会发生一些事情:
1)社交媒体登录使用SOCIALACCOUNT_ADAPTER
中ACCOUNT_ADAPTER
(不是settings.py
)指定的类。因此,对于您当前的settings.py
,当您连接到Twitter时,它将不会调用sleep.adapter.MyAccountAdapter.get_login_redirect_url()
。
2)/accounts/social/connections/
是名为socialaccount_connections
的视图的默认网址。您可能尝试连接您的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>