En mi aplicación Django deseo hacer un seguimiento de si se ha enviado una respuesta satisfactoriamente al cliente. Soy consciente de que no hay una forma "estanca" en un protocolo sin conexión como HTTP para garantizar que el cliente haya recibido (y mostrado) una respuesta, por lo que esta no será una funcionalidad de misión crítica, pero aún así quiero hacer esto en el último tiempo posible. La respuesta no será HTML, por lo que no es posible ninguna devolución de llamada del cliente (usando etiquetas Javascript o IMG, etc.).Ejecutar el código en Django después de enviar la respuesta al cliente
El "último" gancho que puedo encontrar sería agregar un middleware personalizado que implementa process_response en la primera posición de la lista de middleware, pero a mi entender esto se ejecuta antes de que se construya la respuesta real y se envíe al cliente. ¿Hay ganchos/eventos en Django para ejecutar el código después de que la respuesta se haya enviado con éxito?
¿Qué hay de malo en enviar una bandera json más simple? ¿Por qué todo lo anterior? –
Tampoco entiendo lo que quiere decir con "json flag" ni puedo ver de ninguna manera JSON ayudándome con mi problema ... por favor, elabore. –
Funciona bien para manejar una respuesta exitosa, pero close() no se ejecuta si el usuario interrumpe la conexión (al cerrar la pestaña o presionar el botón "detener").Defina un método \ __ del \ __ si necesita hacer algo después de que se haya manejado la respuesta, incluso si la conexión se ha interrumpido con fuerza. – vincent