登录 django-allauth 后重定向回上一页

博客详细信息视图中有一个按钮要求用户登录才能发表评论,但登录后用户将被重定向到主页,因为在settings.py我声明中:

LOGIN_REDIRECT_URL = "projects:home"

我搜索了一下,发现这可能是一个解决方案:

<a href="{% url 'account_login' %}?next={{request.path}}">Please login to reply</a>

但这甚至不起作用。


明月笑刀无情
浏览 79回答 1
1回答

开心每一天1111

您已经完成了一半:当您将 ?next={{request.path}} 添加到 a 标记时,您正在创建一个“下一个”变量并将当前路径分配给它。但仅此还不足以达到您想要的结果;您仍然需要在登录表单中实际使用该变量。您还没有向我们展示您的登录模板,但我认为这是一个基本表单。在登录表单中添加一个隐藏按钮,并让它使用在 a 标记中捕获的“下一个”变量。将以下代码放入登录表单标记中,在其他所有内容之后,但在关闭表单之前:<input&nbsp;type="hidden"&nbsp;name="next"&nbsp;value="{{&nbsp;request.GET.next&nbsp;}}"&nbsp;/>当用户提交登录表单时,模板将使用存储在 request.GET.next 中的值,该值是从 a 标记捕获的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python