Je souhaite empêcher un utilisateur de voir certains liens sur ma barre de navigation si l'utilisateur n'est pas connecté.Comment empêcher les utilisateurs anonymes d'accéder à certaines parties de mon site Web?
J'utilise l'instruction if dans mon modèle pour cela. Lorsque je suis connecté, il montre le bon ensemble de liens, mais quand je me suis déconnecté, il ne le fait pas.
Il doit montrer l'ul
avec le signe des liens. Qu'est-ce que je fais mal?
Ceci est mon code:
<html>
<head>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M" crossorigin="anonymous">
{% block head %}
{% endblock %}
</head>
<body>
<style>
ul, li {
margin: 0px 14px;
}
</style>
<nav class = "navbar fixed-top navbar-light bg-light justify-content-between flex-nowrap flex-row">
<div class = " container">
<a class = "navbar-brand float-left" href = "{% url 'Identities:nest'%}">nest</a>
{% if user.is_authenticated %}
<ul class = "nav navbar-nav flex-row float-left ">
<li class = "nav-item "><a class = "nav-link" href = "{% url 'Identities:logout'%}">Sign Out</a></li>
<li class = "nav-item"><a class = "nav-link" href = "{% url 'Identities:view_profile' %}">view Identity </a></li>
<li class = "nav-item"><a class = "nav-link" href = "{% url 'Identities:edit_profile' %}">edit Identity </a></li>
</ul>
{% else %}
<ul class = "nav navbar-nav flex-row float-left ">
<li class = "nav-item "><a class="nav-link" href = "{% url 'Identities:login'%}">Sign In</a></li>
</ul>
{% endif %}
</div>
</nav>
{% block body %}
{% endblock %}
</body>
</html>
Lire https://stackoverflow.com/questions/39905210/django-user-permission-inside -template # 39906318 et suivez les liens pour plus d'explications – dahrens
Copie possible de [autorisation utilisateur Django dans le modèle] (https://stackoverflow.com/questions/39905210/django-user-permission-inside-template) – BrettJ