50 votes

Django : Masquer le bouton dans le modèle, si l'utilisateur n'est pas un super-utilisateur

Comment faire en sorte que votre modèle/vue reconnaisse si un utilisateur connecté est ou non un super utilisateur ?

Il y a certains boutons sur mes formulaires (dans le modèle) que je veux complètement cachés si l'utilisateur n'est pas un super-utilisateur

Comment feriez-vous cela?

19voto

shuckc Points 562

Comme indiqué dans les commentaires, vous pouvez utiliser User disponible dans les modèles :

 {% if user.is_superuser %}
<div class="alert alert-success" role="alert">
You are logged in as {{user.first_name}}, here are the
<a href="http://stackoverflow.com/admin/">admin pages</a> for changing content.
</div>
{% endif %}

Vous pouvez également utiliser user.is_staff qui pourrait être plus approprié.

0voto

Daud Ahmed Points 44

En fait, lorsque vous essayez de vérifier le modèle de connexion html si l'utilisateur est superutilisateur ou non, vous ne pourrez pas le faire car à ce moment précis, ce sera faux, vous pouvez le vérifier dans le fichier views.py que l'utilisateur est super ou non puis redirigez-le où vous voulez. vous pouvez faire quelque chose comme ça comme vous pouvez le voir dans la fonction de démarrage

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X