Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
django登录\不需要重定向_Django_Login Required - Fatal编程技术网

django登录\不需要重定向

django登录\不需要重定向,django,login-required,Django,Login Required,我是Django的新手,所以请容忍我。我试图创建一个用户必须登录才能使用@login\u required访问的页面,但它似乎没有做任何事情。(无错误、无重定向、无任何内容。) 以下是我对这个问题的看法: 项目设置.py from django.contrib.auth.decorators import login_required @login_required def index(request): context = RequestContext(request) re

我是Django的新手,所以请容忍我。我试图创建一个用户必须登录才能使用
@login\u required
访问的页面,但它似乎没有做任何事情。(无错误、无重定向、无任何内容。)

以下是我对这个问题的看法:

项目设置.py

from django.contrib.auth.decorators import login_required

@login_required
def index(request):
    context = RequestContext(request)
    return render_to_response('evaluation/index.html')
url(r'^login/$', 'django.contrib.auth.views.login')
LOGIN\u URL='/LOGIN'

应用程序视图.py

from django.contrib.auth.decorators import login_required

@login_required
def index(request):
    context = RequestContext(request)
    return render_to_response('evaluation/index.html')
url(r'^login/$', 'django.contrib.auth.views.login')
项目URL.py

from django.contrib.auth.decorators import login_required

@login_required
def index(request):
    context = RequestContext(request)
    return render_to_response('evaluation/index.html')
url(r'^login/$', 'django.contrib.auth.views.login')
我也不知道这是否相关,但在我需要登录的页面上,我设置了登录时显示用户名的设置,但也没有设置,即使在我似乎成功登录并被我的登录页面重定向之后:

{% if user.is_authenticated %}
<h1>Hello {{ user.username }}</h1>
{% else %}
<h1>Hello world</h1>
{% endif %}
{%if user.u经过身份验证%}
你好{{user.username}
{%else%}
你好,世界
{%endif%}

我已经查看了django.contrib.auth的文档,但没有什么用处。
next
与此问题有关吗?尽管我在谷歌上搜索了一下,但我还是搞不清楚这到底是什么。(如果有人对与此相关的良好资源提出建议,也将不胜感激。)

您没有将上下文传递到
索引中的模板,因此它对
用户
变量一无所知。你应该做:

return render_to_response('evaluation/index.html', context)
或者更好的方法是,完全删除
上下文
变量,然后执行以下操作

return render(request, 'evaluation/index.html')

(因为render与render\u to\u响应不同,默认情况下使用RequestContext)。

可笑的新手错误。这解决了这两个问题。也谢谢你的改进建议。