如何在导航栏中显示登录用户所属的组

时间:2019-07-08 17:17:37

标签: html django-templates navigationbar

我正在将django与bootstrap结合使用,以便首先创建包含项目和链接的导航栏。

问题是我有属于不同组的用户,我试图在导航栏中显示用户和组

直到现在,我可以使用功能{{user.get_username}}

显示用户

但现在该小组成功了。

但是我可以在其他页面中显示该组,但不能在标题或导航栏中显示该组。

views.py

def home(request):

 #print(User.groups.get())
 print(request.session.keys())
 if request.session.has_key('theUser'):
  authed=request.session['theUser']
  if request.session.has_key('group'):
   grouped=request.session['group']
   return render(request,'./index.html',{'grouped':grouped,'authed':authed})
  else:
   authed=None
 else:
  authed=None

 return render(request,'./Login.html',{'authed':authed})

header.html

{% load staticfiles %}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"> 
<script type="text/javascript" src="{% static '/js/jquery-3.1.1.min.js' %}"></script>
<script src="{% static 'js/bootstrap.min.js' %}"></script>


<nav class = "navbar navbar-expand-lg navbar-dark bg-dark">

  <a href = "{% url 'home' %}" class="navbar-brand">Bookstore</a>
   <ul class="nav navbar-nav">
        <li{% if request.path == '/books/' %} class="active"{% endif %}>
          <a href="{% url 'book_list' %}">Books</a>
        </li>
    </ul>
  <button class=" navbar-toggler" data-toggle = "collapse" data-target="#navbarMenu">
    <span class=" navbar-toggler-icon"></span>
  </button>
  <div class="  collapse  navbar-collapse " id="navbarMenu"> 
    <ul class=" navbar-nav ml-auto">  
      <li class="nav-item"> 
        <a href=" #">{{ user.get_username }}||{{ grouped }}|| </a> 
        </li>
        <li>
          {% if authed is not None %}
            <a href="#" id="logMeOut"><font color="white">LogOut</font></a>
              <script type="text/javascript">
                $(function(){
                  $('#logMeOut').on('click',function(){
                    $.ajax({
                      url:'/usr/logMeOut',
                      method:'POST',
                      headers:{
                        'X-CSRFToken':'{{csrf_token}}'
                      }
                    }).done(function(msg){
                      console.log(msg)
                      document.location='/'
                    }).fail(function(err){
                      alert(err)
                    })
                  })
                })
              </script>
          {% endif %}  
        </li>
    </ul>
  </div>
</nav>

最近一次更新,我试图在模型文件中创建属性,并在模板中使用以下内容。

<li class="nav-item">
          {% if user.is_technical%}
            <li>technical</li>
          {% endif %}

          {% if user.is_IT%}
            <li> IT</li>
          {% endif %}
        </li>

0 个答案:

没有答案