¿Cómo obtener la identificación del usuario actualmente conectado?
en models.py:
class Game(models.model):
name = models.CharField(max_length=255)
owner = models.ForeignKey(User, related_name='game_user', verbose_name='Owner')
en views.py:
gta = Game.objects.create(name="gta", owner=?)

Respuestas:
Primero asegúrese de tener
SessionMiddlewareyAuthenticationMiddlewaremiddlewares agregados a suMIDDLEWARE_CLASSESconfiguración.La corriente
userestá en elrequestobjeto, puede obtenerla:request.userle dará unUserobjeto que representa al usuario actualmente conectado. Si un usuario no está conectado actualmente,request.userse establecerá en una instancia deAnonymousUser. Puede distinguirlos con el campois_authenticated, así:fuente
Usermodelo .Puede acceder al usuario registrado actualmente utilizando el siguiente código:
fuente
Suponiendo que se refiere al usuario de autenticación de Django , en su opinión:
fuente
Escribí esto en una vista ajax, pero es una respuesta más amplia que da la lista de usuarios actualmente conectados y desconectados.
El
is_authenticatedatributo siempre devuelveTruepara mis usuarios, lo que supongo que es de esperar, ya que solo busca AnonymousUsers, pero eso resulta inútil si tuviera que desarrollar una aplicación de chat donde necesita que se muestren los usuarios registrados.Esto comprueba las sesiones caducadas y luego determina a qué usuario pertenecen en función del
_auth_user_idatributo decodificado :fuente