Vérifier l'utilisateur connecté dans Django

Vaibhav Vaibhav 30 janvier 2023
  1. Vérifier l’utilisateur connecté dans les vues dans Django
  2. Vérifiez l’utilisateur connecté dans les modèles dans Django
Vérifier l'utilisateur connecté dans Django

Django est livré pré-construit avec un système d’authentification robuste. Par conséquent, vérifier l’utilisateur actuellement connecté dans Django est assez simple. Mais cela dépend de l’endroit où vous souhaitez rechercher l’utilisateur connecté, c’est-à-dire dans les vues ou les modèles.

Dans cet article, nous verrons comment vérifier l’utilisateur connecté pour les deux emplacements.

Vérifier l’utilisateur connecté dans les vues dans Django

Dans les vues, nous pouvons utiliser la request pour vérifier l’utilisateur connecté. Une request contient un tas d’informations telles que la machine cliente, l’adresse IP du client, le type et les données de la demande, etc., et l’une de ces informations concerne l’utilisateur qui effectue cette demande.

Référez-vous au code suivant

if request.user.is_authenticated:
    print("User is logged in :)")
    print(f"Username --> {request.user.username}")
else:
    print("User is not logged in :(")

Nous pouvons utiliser request.user.is_authentiated pour vérifier si l’utilisateur est connecté ou non. Si l’utilisateur est connecté, il renverra True. Sinon, il renverra False.

Vérifiez l’utilisateur connecté dans les modèles dans Django

Comme dans les vues, nous pouvons également utiliser la request à l’intérieur des modèles pour vérifier l’utilisateur connecté. La syntaxe est exactement la même. Dans les templates, nous utiliserons les balises template de Django pour créer une instruction if-else.

<body>
    {% if request.user.is_authenticated %}
        <p>User is logged in :)</p>
        <p>Username -->  {{ request.user.username }}</p>
    {% else %}
        <p>User is not logged in :(</p>
    {% endif %}
</body>
Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

Article connexe - Django User