【发布时间】:2014-03-17 06:52:47
【问题描述】:
我正在使用 Django 1.5,我想检查用户是否已被重定向到我的登录页面,因为他试图访问另一个需要登录但未登录的页面。假设有这个名为“securityPage”的视图并假设当我访问该视图时会调用该视图
/securityInfo/
网址。假设这是 securityPage 视图:
@login_required
def securityPage(request):
#some code
现在,当我访问该 URL 时,它会将我重定向到 login.html 页面,这是正确的(因为用户 - 我 - 没有登录任何帐户)。这是我的 login.html:
{% if 'next' in request.GET %}
<p>You must first login into your account before having access to the page you were trying to view.</p>
{% endif %}
由于某种原因,即使我被重定向并且我被重定向到的登录页面的 URL 是
http://127.0.0.1:8000/login/?next=/securityInfo/
,线
{% if 'next' in request.GET %}
即使“下一个”在 URL 中,也会评估为 false。知道为什么吗?
【问题讨论】:
-
Next 不在当前请求中(重定向),它将在下一个请求中(因此变量名称为“next”),当用户登录时,因为“next”将在发送登录表单时发送。
-
@Jingo hm,但我认为它只是检查字符串“下一个”是否在 URL 中。我如何制作它以检查用户是否已被重定向到当前页面?
标签: django validation redirect get request