Django шаблонирует разные элементы для разных групп. Аутентификация пользователей и разделение на группы
Итак, я пытаюсь сделать веб-сайт, похожий на классную комнату, но только для курса, который ведет кто-то из моих знакомых. Я хочу, чтобы у разных групп было разное представление сайта. Например, группа "Гость" не может видеть пункты меню, которые может видеть группа "Студент". Но это не совсем работает... Вот часть моего кода для меню:
{% if user.is_authenticated %}
{% for group in user.groups.all %}
{% ifequal group.name 'Student' %}
<div class="menu">
<button onclick="location.href='http://10.0.0.60:8000/';" class="home en">Home</button>
<button onclick="location.href='http://10.0.0.60:8000/news';" class="news en">News</button>
<button onclick="location.href='http://10.0.0.60:8000/about';" class="about en">About us</button>
<button onclick="location.href='http://10.0.0.60:8000/lessons';" class="home en">Lessons</button>
<button onclick="location.href='http://10.0.0.60:8000/assignments';" class="home en">Assignments</button>
</div>
{% endifequal %}
{%ifequal group.name 'Guest'%}
<button onclick="location.href='http://10.0.0.60:8000/';" class="home en">Home</button>
<button onclick="location.href='http://10.0.0.60:8000/news';" class="news en">News</button>
<button onclick="location.href='http://10.0.0.60:8000/about';" class="about en">About us</button>
{%endifequal%}
{%else%}
<div class="menu">
<button onclick="location.href='http://10.0.0.60:8000/';" class="home en">Home</button>
<button onclick="location.href='http://10.0.0.60:8000/news';" class="news en">News</button>
<button onclick="location.href='http://10.0.0.60:8000/about';" class="about en">About us</button>
</div>
{%endfor%}
{%endif%}
Вот как это сделать. Я не знаю, почему это работает, а то, что описано выше, нет, но это то, что есть. Но я думаю, что вам нужно указать каждое условие, а не использовать else
Код:
{% if user.is_authenticated %}
{% for group in user.groups.all %}
{% ifequal group.name 'Student' %}
<div class="menu">
"items for group student"
</div>
{% endifequal %}
{%ifequal group.name 'Guest'%}
<div class="menu">
"items for group Guest"
</div>
{%endifequal%}
{%endfor%}
{%elif not user.is_authenticated%}
<div class="menu">
"items for anonymous users"
</div>
{%endif%}