我正在使用Django 1.5,我想检查用户是否已被重定向到我的登录页面,因为他试图访问另一个需要登录但未登录的页面。假设有一个名为'securityPage'的视图并假设当我访问
时调用该视图/securityInfo/
URL。假设这是securityPage视图:
@login_required
def securityPage(request):
#some code
现在当我访问该网址时,它会将我重定向到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。知道为什么吗?
答案 0 :(得分:1)
我认为请求对象不是默认上下文值的一部分。
检查设置中的template_context_processors,如果在该列表中添加 django.core.context_processors.request ,则当前请求将添加到每个requestcontext。或者只是手动传递该视图的请求。
https://docs.djangoproject.com/en/1.5/ref/templates/api/#django-core-context-processors-request