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用户身份验证:登录后不重定向的主要内容,如果未能解决你的问题,请参考以下文章
Django 身份验证 - 错误的重定向 url 到登录页面
使用 Azure Active Directory 身份验证而不重定向到 Microsoft