Controlla l'utente che ha effettuato l'accesso in Django
- Controlla l’utente che ha effettuato l’accesso in Views in Django
- Controlla l’utente che ha effettuato l’accesso nei modelli in Django
Django viene fornito con un robusto sistema di autenticazione. Quindi, controllare l’attuale utente connesso in Django è piuttosto semplice. Ma dipende da dove desideri controllare l’utente che ha effettuato l’accesso, ovvero nelle viste o nei modelli.
In questo articolo, discuteremo come controllare l’utente che ha effettuato l’accesso per entrambe le posizioni.
Controlla l’utente che ha effettuato l’accesso in Views in Django
Nelle visualizzazioni, possiamo utilizzare la request
per controllare l’utente che ha effettuato l’accesso. Una request
ha una serie di informazioni come la macchina client, l’IP del client, il tipo e i dati della richiesta, ecc., e una di queste informazioni riguarda l’utente che sta effettuando questa richiesta.
Fare riferimento al codice seguente
if request.user.is_authenticated:
print("User is logged in :)")
print(f"Username --> {request.user.username}")
else:
print("User is not logged in :(")
Possiamo usare request.user.is_authenticated
per verificare se l’utente ha effettuato l’accesso o meno. Se l’utente ha effettuato l’accesso, restituirà True
. In caso contrario, restituirà False
.
Controlla l’utente che ha effettuato l’accesso nei modelli in Django
Come nelle viste, possiamo anche utilizzare la request
all’interno dei modelli per verificare l’utente che ha effettuato l’accesso. La sintassi è esattamente la stessa. Nei modelli, utilizzeremo i tag dei modelli di Django per creare una dichiarazione 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>