主页上显示的标签显示不显示

时间:2016-04-01 13:16:20

标签: python django twitter-bootstrap-3

这是我的base.html文件:

{% load staticfiles %}

<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="{% static 'css/css/bootstrap.css' %}">
<link rel="stylesheet" href="{% static 'css/css/bootstrap-theme.css' %}">
</head>
</html>

<body>
<nav class="navbar navbar-default"></nav>
<nav class="navbar navbar-inverse navbar-fixed-top">
  <div class="container">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
    </div>
    <div id="navbar" class="navbar-collapse collapse">
        <ul class="nav navbar-nav">
            <li class="active"><a href="/">Home</a></li>
            <li><a href="/fitbit/">Fitbit</a></li>
            {% if user.is_anonymous %}
            {% else %}
            <li><a href="/logout/">Log Out</a></li>
            {% endif %}      
    </div><!--/.navbar-collapse -->
  </div>
</nav>
<center>

{% block content %}{% endblock %}
</center> 

<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script  src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="css/js/jquery.min.js"> <\/script>')</script>
<script src="/static/css/js/bootstrap.min.js"></script>
<script src="/static/css/js/bootstrap.js"></script>
</body>
</html>
<footer>
<p>&copy; 2016 Hanze Hogeschool Groningen</p>
</footer>

正如您所看到的那样,如果用户是匿名用户,如果他不是匿名用户则应该显示注销按钮。但是当我返回主页时,它仍然显示“注销”按钮。

我的问题是,我如何制作,以便注销不会显示在主页上。根据我自己的想法,我认为django仍然认为我在主页上不是匿名的。

这是问题的图像: homepage

1 个答案:

答案 0 :(得分:0)

您应该使用is_authenticated代替:

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

并且,您没有将请求上下文从视图传递到模板,请使用render()

return render(request, 'index.html')