我在django应用程序中使用django-allauth进行社交登录。当用户被提示使用社交登录对话框,例如Facebook登录窗口时,他可以选择拒绝权限请求。
在这种情况下,用户当前正被重定向到/ accounts / social / login / canceled /。有什么方法可以将他重定向到自定义网址吗?
答案 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')),
...
)