这是我的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>© 2016 Hanze Hogeschool Groningen</p>
</footer>
正如您所看到的那样,如果用户是匿名用户,如果他不是匿名用户则应该显示注销按钮。但是当我返回主页时,它仍然显示“注销”按钮。
我的问题是,我如何制作,以便注销不会显示在主页上。根据我自己的想法,我认为django仍然认为我在主页上不是匿名的。
这是问题的图像: homepage
答案 0 :(得分:0)
您应该使用is_authenticated
代替:
{% if user.is_authenticated %}
<li><a href="/logout/">Log Out</a></li>
{% endif %}
并且,您没有将请求上下文从视图传递到模板,请使用render()
:
return render(request, 'index.html')