Отображение шаблонов для каждого пользователя Django

У меня есть боковая панель, состоящая из 2 пунктов навигации, во время аутентификации я хочу, чтобы ее часть была видна пользователям, например:

enter image description here

пользователь 1: может видеть только часть управления пользователь 2: может видеть только часть прогнозирования пользователь3: может видеть только часть управления и прогнозирования

Я пытался использовать pemrissions, но это не сработало. но я думаю, что это не то, что я ищу (разрешения связаны с моделями). Я понятия не имею, как сделать это таким образом, есть идеи?

шаблон base.html

predictionstatut.py

{% extends 'base.html' %}
{% block content %}

<div class="row" style=" font-size:16px;">
  <div class="col-lg-11" >
      <div class="card" >
           <div class="card-body">
            <form action="/pages/predictstatut" method="POST"> 
             {% csrf_token %}
            <br>
            <label class="col-form-label">Nom Médicament</label>
            <select name ='medicament' class="form-select"  style=" font-size:16px;">
              <option selected>Menu sélection nom du médicament</option>
               {% for medicament in medicament %}  
             <option value ="{{ medicament.nom }}">{{ medicament.nom }}</option>
             {% endfor %}           
              </select>


          </select>
          <label class="col-form-label">Nom entreprise</label>

          <select name ='entrprise' class="form-select"  style=" font-size:16px;">
          <option selected>Menu sélection du nom de l'entrprise</option>
           {% for entreprise in entreprise %}  
         <option value ="{{ entreprise.nom }}">{{ entreprise.nom }}</option>
         {% endfor %}           
          </select>
          <label class="col-form-label">Voie administration </label>

           <select name ='voie' class="form-select"  style=" font-size:16px;">
          <option selected>Menu sélection voie administration </option>
          {% for voie in voie %}  
           <option value ="{{ voie.description }}">{{ voie.description }}</option>
           {% endfor %}           
          </select>
          <label class="col-form-label">Code Atc </label>

           <select name ='atc' class="form-select" style=" font-size:16px;">
           <option selected>Menu sélection Atc</option>
          {% for atc in atc %}  
          <option value ="{{ atc.codeAtc }}">{{ atc.codeAtc }}</option>
          {% endfor %}           
          </select>
          <label class="col-form-label">Forme galénique </label>
          <select name ='dosage' class="form-select"  style=" font-size:16px;">
          <option selected>Menu sélection dosage</option>
          {% for med in med %}  
          <option value ="{{ med.dosage }}">{{ med.dosage }}</option>
          {% endfor %}           
          </select>
          <br>
          <button type="submit" href="{% url 'predictstatut' %}" class="btn btn-primary rounded-pill" style="float: right; font-size:16px;">Valider

          </button>
          </form>

        </div>
      </div>
    </div>
  </div>
</div>
{% endblock %

}

models.py

class Grade(models.Model):
    idGrade =  models.AutoField(primary_key=True)
    nom = models.CharField(max_length=100)
    description = models.CharField(max_length=100)

    def __str__(self):
        return self.nom

class Membre(models.Model):
    idMembre =  models.AutoField(primary_key=True)
    idGrade = models.ForeignKey(Grade, on_delete=models.CASCADE)
    idUser = models.ForeignKey(User, on_delete=models.CASCADE) 

просматривает логин :

def login(request):

    user = auth.authenticate(username=request.POST.get('username'),password = request.POST.get('password'))
    if user is not None:
        auth.login(request, user)
        return render (request,'pages/lot.html')
    else:
        return render (request,'pages/login.html')
Вернуться на верх