2017-02-17 46 views
0

我在Django项目上工作,并且有一个用于该网站的导航栏。所以当一个用户登录时,我想更改导航栏。那么如何阻止导航栏从基本模板继承?停止对特定模板的导航栏的继承

{% load staticfiles %} 
<!DOCTYPE html> 
<html> 
<head> 
    <title>Blog</title> 
     <title>Eapp</title> 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> 

<!-- Optional theme --> 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous"> 

<!-- Latest compiled and minified JavaScript --> 

    <link rel="stylesheet" href="{% static 'css/blog.css' %}"> 
</head> 
<body> 
    <div class="container"> 
    <nav class="navbar navbar-default"> 
     <div class="container-fluid"> 
     <!-- Brand and toggle get grouped for better mobile display --> 
     <div class="navbar-header"> 
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false"> 
      <span class="sr-only">Toggle navigation</span> 
      <span class="icon-bar"></span> 
      <span class="icon-bar"></span> 
      <span class="icon-bar"></span> 
      </button> 
      <a class="navbar-brand" href="#">Eapp</a> 
     </div> 

     <!-- Collect the nav links, forms, and other content for toggling --> 
     <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> 
      <ul class="nav navbar-nav navbar-right"> 
      <li><a href="{% url 'eapp:registration' %}">Register</a></li> 
      </ul> 
      <ul class="nav navbar-nav navbar-right"> 
      <li><a href="{% url 'eapp:login' %}">Login</a></li> 
      </ul> 
     </div><!-- /.navbar-collapse --> 
     </div><!-- /.container-fluid --> 
    </nav> 
     {% block content %} 
     {% endblock content%} 
    </div> 
</body> 
</html> 

这是我的base.html的样子,请给我一个关于新模板的样子?谢谢

回答

1

你可以用户django模板标签例如这是模板标签显示,如果用户通过身份验证,那么它会显示注销按钮,否则登录。您也可以在base.html中为导航栏执行相同的操作。

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

感谢您的想法。有什么办法可以阻止模板检测? – Ananthu

+0

当用户通过身份验证时隐藏导航栏,例如,如果条件不放置导航条形码,并在其他位置放置与导航相关的代码,这将阻止您的导航栏继承。 – Darshan