Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.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模板中对user.u进行身份验证时遇到问题_Django_Authentication - Fatal编程技术网

在django模板中对user.u进行身份验证时遇到问题

在django模板中对user.u进行身份验证时遇到问题,django,authentication,Django,Authentication,对不起,如果我之前问你这个问题时你想帮我。我不得不删除那个问题,因为出于某种原因,我不能编辑其他信息 我正在django网站上实现用户身份验证。一切正常。我的视图、模型、URL等都已设置。用户可以注册、登录、注销。我遇到的问题是这段代码: {% if request.user.is_authenticated %} <li><a href="/logout">Log Out</a></li> {% else %}

对不起,如果我之前问你这个问题时你想帮我。我不得不删除那个问题,因为出于某种原因,我不能编辑其他信息

我正在django网站上实现用户身份验证。一切正常。我的视图、模型、URL等都已设置。用户可以注册、登录、注销。我遇到的问题是这段代码:

{% if request.user.is_authenticated %}
      <li><a href="/logout">Log Out</a></li>
      {% else %}
      <li><a href="/login">Log In</a></li>
      {% endif %}

如果启用了身份验证上下文处理器,则
user
已在模板上下文中,您可以执行以下操作:

{% if user.is_authenticated %}
如果要访问模板中的
请求
,请确保已启用


在您的问题中,您使用的是
render\u to\u response
。自Django 1.3以来,最好使用
render
而不是
render\u to\u response
。使用
render\u to\u response
RequestContext(request)
在Django中工作请注意,由于Django1.10
进行了身份验证
@属性修饰并且其行为不同

对于未经身份验证的用户调用{{user.is_authenticated}结果:

CallableBool(True)
(在Django<1.10上时为
True

对于已验证的用户调用{{user.is_AUTHENTICATED}结果:

CallableBool(False)
(在Django<1.10上时为
False

如果您需要将例如传递给javascript值,如
true
false
,您可以通过应用过滤器
| yesno:“true,false”


var DJANGO_USER=“{{USER.is_authenticated}yesno:“true,false”}”;

我的模板上下文处理器是(“django.contrib.auth.context\u processors.auth”、“django.core.context\u processors.debug”、“django.core.context\u processors.i18n”、“django.core.context\u processors.media”、“django.core.context\u processors.static”、“django.core.context\u processors.tz”、“django.contrib.messages.context\u processors.messages”)请求一的路径是什么?哦,我没意识到我把request.user.is_验证在那里了。我尝试添加它,因为我认为它会有帮助,但没有。模板在有或没有“请求”的情况下都无法工作。因此,对于无法正确显示注销链接的视图,请确保使用
RequestContext
呈现模板调试工具栏对于解决此类问题非常有用,因为它可以向您显示模板上下文。是的!就这样!非常感谢你!
{% if user.is_authenticated %}
return render(request, 'template/login.html', context)
<script language="javascript"> 
var DJANGO_USER = "{{user.is_authenticated|yesno:"true,false"}}";
</script>