Как ограничить доступ к шаблону для пользователей на основе их имени_отдела

У меня есть следующая модель. Отделы, пользователи. Пользователи назначены в отдел. Как я могу ограничить доступ к шаблону на основе имени_отдела пользователя? Например: Пользователь может просматривать Шаблон приложения_1, если имя_отдела == "Компьютерный_отдел". Здесь пользователь принадлежит к отделу "компьютеры". Пользователь может просматривать Шаблон приложения_2, если имя_отдела == "Electrical_Department". Здесь пользователь принадлежит к отделу "электрика".

******Мой код выглядит следующим образом models.py

class Departments(models.Model):
    id = models.AutoField(primary_key=True)
    department_name = models.CharField(max_length=255) # here department name can be computer, electrical etc
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)
    objects = models.Manager()
class Departments(models.Model):
    id = models.AutoField(primary_key=True)
    department_name = models.CharField(max_length=255)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)
    objects = models.Manager()

UserViews.py

def bi_powise(request):
    return render ( request, 'user_template/application_template/bi_powise.html', {})
    

urls.py

path ( 'bi_powise_user', UserViews.bi_powise, name = 'bi_powise_user' )

sidebar_template.html

      {% url 'bi_powise_user' as bi_powise_user %}
      <a href="{{ bi_powise_user }}" class="nav-link {% if request.path == bi_powise_user %} active {% endif %}">
        <i class="nav-icon fas fa-chalkboard"></i>
        <p>
          BI PO-Wise
        </p>
      </a>
    </li>

Вы можете добавить логику непосредственно внутри вашего представления или написать декоратор для обеспечения прав доступа. Примеры можно посмотреть в документации по аутентификации django.

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