django-allauth社交登录的自定义重定向取消

时间:2014-09-10 05:42:41

标签: python django django-allauth

我在django应用程序中使用django-allauth进行社交登录。当用户被提示使用社交登录对话框,例如Facebook登录窗口时,他可以选择拒绝权限请求。

在这种情况下,用户当前正被重定向到/ accounts / social / login / canceled /。有什么方法可以将他重定向到自定义网址吗?

1 个答案:

答案 0 :(得分:6)

我发现我可以使用自定义视图覆盖allauth的社交登录取消视图。我按照此博文中描述的说明进行操作 - How to override a view from an external Django app

我需要做的就是使用我的自定义逻辑定义一个视图,并将此视图的网址定义放在urls.py中的allauth网址定义之上

views.py:

def login_cancelled(request):
    ...
    custom_logic
    ...

urls.py

from myapp.views import login_cancelled

urlpattenrs = patterns(
    ...
    url(r'^accounts/social/login/cancelled/$', login_cancelled),
    url(r'^accounts/', include('allauth.urls')),
    ...
)