Я использую django с начальной загрузкой, чтобы сначала создать панель навигации с элементами и ссылками.
Проблема в том, что у меня есть пользователи, принадлежащие к разным группам, которые я пытаюсь отобразить на панели навигации. пользователь и группа .
До сих пор я мог отображать пользователя с помощью функции {{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>