【问题标题】:Redirect to ?next=/accounts/social/connections/ in django-allauth重定向到 ?next=/accounts/social/connections/ 在 django-allauth
【发布时间】:2015-12-28 10:53:49
【问题描述】:

我正在尝试重定向到 /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/.

【问题讨论】:

    标签: python django url-redirection django-allauth


    【解决方案1】:

    这里可能会发生一些事情:

    1) 社交媒体登录使用settings.pySOCIALACCOUNT_ADAPTER(不是ACCOUNT_ADAPTER)指定的类。因此,使用您当前的 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>
    

    【讨论】:

      猜你喜欢
      • 2020-12-11
      • 2013-11-25
      • 2019-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-01
      相关资源
      最近更新 更多