1
votes

travailler avec {% if%} {% else%} dans Django

comment puis-je masquer le nom d'utilisateur de la page de connexion avec If-Statement. J'utilise ce code pour afficher le nom d'utilisateur dans la page principale après la connexion, et cela fonctionne

{%if request.user.first_name%}{{request.user.first_name}}{%else%}{{user}}{%endif%}

mais le problème est qu'il est également affiché dans la page de connexion comme "AnonymousUser". comment puis-je cacher cela

Une idée?


0 commentaires

3 Réponses :


2
votes

Vous pouvez utiliser .is_authenticated [Django-doc] ici:

{% if request.user.is_authenticated %} ... {% endif %}

Pour un utilisateur qui n'est pas authentifié (comme un AnonymousUser ) la vérification échouera.


0 commentaires

2
votes

Vérifiez ceci:

{% if user.is_authenticated %}{% endif %}

En relation: Comment vérifier si un utilisateur est connecté (comment utiliser correctement user.is_authenticated)?


0 commentaires

3
votes

Tout d'abord, vous devez vérifier si l'utilisateur est authentifié et s'il est authentifié, affichez le prénom ou le nom d'utilisateur, sinon donnez simplement le lien pour vous connecter et vous inscrire.

{% if user.is_authenticated %}
   {%if request.user.first_name%}
      {{request.user.first_name}}
   {%else%}
      {{request.user.username}}
   {%endif%}
{% else %}
  <a href="" >login</a>
  <a href="" >Signup</a>
{% endif %}


0 commentaires