2016-04-01 77 views
0

這是我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> 

正如你可以看到我在做一個檢查,如果用戶是匿名的,如果他不是匿名,應該顯示日誌out按鈕。但是當我回到主頁時,它仍然顯示註銷按鈕。

我的問題是,我該如何使註銷不會顯示在主頁上。根據我自己的想法,我認爲django仍然認爲我不是匿名的主頁。

這是該問題的圖像: homepage

回答

0

您應該使用is_authenticated代替:

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

而且,你是不是傳遞請求上下文從您的視圖模板,使用render()

return render(request, 'index.html') 
+1

不過,如果我登錄,這種情況發生:[鏈接](http://puu.sh/o21qn/6d8bbed5ab.png)[/鏈接] –

+0

@Ruska_JAB你還可以顯示你的視圖的代碼?謝謝。 – alecxe

+0

'從django.contrib.auth進口註銷 從django.http進口HttpResponseRedirect 從django.shortcuts選擇render_to_response導入 DEF main_page(請求): 選擇render_to_response回報( '的index.html') DEF logout_page(請求): 「」「 註銷用戶並將其重定向到主頁面 」「」 註銷(請求) 返回HttpResponseRedirect('/')'@alexce沒有登錄def因爲我們使用auth.views 。 –