Отображение шаблонов для каждого пользователя Django
У меня есть боковая панель, состоящая из 2 пунктов навигации, во время аутентификации я хочу, чтобы ее часть была видна пользователям, например:
пользователь 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')