Django-allauth 如何在登录后重定向到上一页

时间:2021-03-19 04:03:34

标签: django django-urls django-allauth django-settings

我正在使用 Django-allauth ,我可以通过在 settings.py 中添加它来成功地将它重定向到主页:

LOGIN_REDIRECT_URL = '/home'

但是无论如何我可以将其重定向到上一页吗?

1 个答案:

答案 0 :(得分:0)

通过使用重定向字段,您要查找的内容实际上应该是开箱即用的,默认情况下该字段为 nexthttps://docs.djangoproject.com/en/3.1/topics/auth/default/#django.contrib.auth.mixins.AccessMixin.get_redirect_field_name

检查访问权限并重定向到登录表单的视图只需要传递用户之前所在的 URL。如果该字段存在,用户将在登录后重定向到该特定页面。

你是如何限制登录的?我假设你没有通过 next?默认情况下,@login_required 装饰器和基于类的视图的 LoginRequiredMixin 都设置了 next

这是关于 LoginView 如何处理 POST 请求的文档所说的:

<块引用>

如果使用用户提交的凭据通过 POST 调用,它会尝试让用户登录。如果登录成功,视图将重定向到 next 中指定的 URL。如果未提供 next,则重定向到 settings.LOGIN_REDIRECT_URL(默认为 /accounts/profile/)。