如何解决Django-allauth 如何在登录后重定向到上一页
我正在使用 Django-allauth ,我可以通过在 settings.py 中添加它来成功地将它重定向到主页:
LOGIN_REDIRECT_URL = '/home'
解决方法
通过使用重定向字段,您要查找的内容实际上应该是开箱即用的,默认情况下该字段为 next
:
https://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/
)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。