Django用户身份验证:登录后不重定向

Posted

技术标签:

【中文标题】Django用户身份验证:登录后不重定向【英文标题】:Django user authentication: not redirecting after login 【发布时间】:2011-12-19 09:05:30 【问题描述】:

我的网站有一个包含论坛链接的首页。访问论坛需要用户登录。因此,我为视图 show_forum 提供了装饰器:@login_required。当用户点击论坛链接时,他们被正确地重定向到登录页面。然而,一旦用户登录,他们将被带回首页,而不是论坛页面。如果用户现在(正在登录)点击论坛链接,那么他会直接进入论坛页面。

通过 Firebug,我可以看到 url 正在获取正确的“下一个”参数。有什么提示或我应该寻找的东西吗?

【问题讨论】:

【参考方案1】:

login_required 装饰器最常见的问题是我忘记重定向到 next 参数,同时拥有自定义登录视图。换句话说,页面是分段构建的,一段时间后会添加登录功能。默认情况下,此视图重定向到默认索引页面(您可能等于“首页”)。

这归结为:您的/accounts/login/ 视图中是否有类似以下内容?

return HttpResponseRedirect(request.GET.get('next', settings.LOGIN_REDIRECT_URL))

【讨论】:

谢谢,这完全帮助了我,虽然这不是我的问题。我忘记了我创建了一个自定义登录模板。在这里我忘了包括

以上是关于Django用户身份验证:登录后不重定向的主要内容,如果未能解决你的问题,请参考以下文章

python - Django内置登录视图不重定向到下一个

Django 身份验证 - 错误的重定向 url 到登录页面

使用 Azure Active Directory 身份验证而不重定向到 Microsoft

django,身份验证后重定向到ajax操作

您可以在不重定向的情况下使用 Passport 进行身份验证吗?

Django身份验证和Ajax - 需要登录的URL