Detectando el cierre de sesión del usuario en el cierre del navegador en Django

Contamos con un servicio web para alguna computación numérica. Tiene un modo registrado, en el que un usuario tiene que registrarse para que sus resultados se envíen por correo.

Nos gustaría hacer un seguimiento de cuánto tiempo el usuario permanece conectado. El tiempo de inicio de sesión se escribe en la base de datos al registrarse con éxito. El registro no es permanente, es solo para el propósito de una sola sesión y se utiliza para obtener el correo electrónico del usuario.

Hay algunas situaciones posibles:

El usuario cierra la sesión normalmente a través del botón de cierre de sesión. La solución más sencilla. Escriba el tiempo y cierre la sesión en la base de datos, y elimine la sesión.

El usuario cierra la sesión al expirar la sesión. Estoy planeando tener un script que verifique todas las entradas de la base de datos que no tienen un tiempo de cierre de sesión establecido y sihora actual - hora de inicio de sesión> hora de caducidad escribir el tiempo de cierre de sesión en una base de datos comotiempo de inicio de sesión + tiempo de expiración.

El usuario cierra la sesión por el cierre del navegador. Las sesiones tienen un get_expire_at_browser_close () establecido en True. Pero no sé cómo puede el servidor detectar el cierre del navegador.

¿Ideas, críticas, comentarios?

Respuestas a la pregunta(1)

Su respuesta a la pregunta