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%}

Вернуться на верх