编程语言
首页 > 编程语言> > python-下一个查询参数不适用于django allauth用于Facebook登录

python-下一个查询参数不适用于django allauth用于Facebook登录

作者:互联网

我已经使用Django all-auth在我的应用程序中实现了用户帐户管理.我已启用使用用户名和密码以及Facebook Connect的登录.

问题是这样的:

1)用户访问页面http://example.com/page1/并单击登录

2)他被带到http://example.com/accounts/login?next=/page1/

3)当用户使用用户名和密码登录时,该用户将被重定向回http://example.com/page1.但是,如果用户使用Facebook登录,则该用户将转到首页.

我如何也可以通过Facebook登录获得期望的行为?

解决方法:

您需要覆盖django-allauth的get_login_redirect_url方法.

为此,将DefaultAccountAdapter类继承为

from allauth.account.adapter import DefaultAccountAdapter

class MyAccountAdapter(DefaultAccountAdapter):
    def get_login_redirect_url(self, request):
        # get the next parameter from request object and return the url 

并更改settings.py

ADAPTER = "APPNAME.FILENAME.MyAccountAdapter"
ACCOUNT_ADAPTER = "APPNAME.FILENAME.MyAccountAdapter"

这应该工作!

标签:django-allauth,python,django
来源: https://codeday.me/bug/20191030/1964424.html