Verifique el usuario que inició sesión en Django

Vaibhav Vaibhav 30 enero 2023
  1. Verifique el usuario que inició sesión en vistas en Django
  2. Verifique el usuario que inició sesión en las plantillas en Django
Verifique el usuario que inició sesión en Django

Django viene preconstruido con un robusto sistema de autenticación. Por lo tanto, verificar el usuario que ha iniciado sesión en Django es bastante sencillo. Pero depende de dónde desee buscar el usuario que inició sesión, es decir, en vistas o plantillas.

En este artículo, discutiremos cómo verificar el usuario que inició sesión en ambas ubicaciones.

Verifique el usuario que inició sesión en vistas en Django

En las vistas, podemos utilizar la request para comprobar el usuario que ha iniciado sesión. Una request tiene un montón de información, como la máquina del cliente, la IP del cliente, el tipo de solicitud y los datos, etc., y una de esas informaciones es sobre el usuario que realiza esta solicitud.

Consulte el siguiente código

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

Podemos utilizar request.user.is_authenticated para comprobar si el usuario está conectado o no. Si el usuario está conectado, devolverá True. De lo contrario, devolverá False.

Verifique el usuario que inició sesión en las plantillas en Django

Al igual que en las vistas, también podemos utilizar la request dentro de las plantillas para comprobar si el usuario ha iniciado sesión. La sintaxis es exactamente la misma. En las plantillas, usaremos las etiquetas de plantilla de Django para crear una declaración 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.

Artículo relacionado - Django User