es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Creando ficheros HTML dentro de una aplicación web, pero los ficheros HTML no se actualizan.

Estoy desarrollando una aplicación web con Flask que está alojada en Heroku. Parte del proceso del backend consiste en escribir en archivos/páginas HTML en las que el usuario se encuentra actualmente. Por ejemplo,

{{% extends "base.html" %}}
{{% block title %}}
{self.title}
{{% endblock %}}
{{% block content %}}
<br>
<h1>{self.title}</h1>
<div>
    <form action="#" method="POST">
        {self.content}
        <div>
            <button type="submit" name="action" value="Generate PDF">Generate PDF</button>
        </div>
    </form>
</div>

Donde self.content se actualiza según la entrada del usuario, actualizando así el archivo.

En el servidor de desarrollo esto funciona bien, sin embargo, cuando la aplicación se implementa, este proceso de actualización instantánea deja de funcionar.

Realmente no entiendo por qué.

¡Gracias por cualquier ayuda!

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema podría estar relacionado con el proceso de implementación de Heroku. Cuando se implementa en el servidor de Heroku, es posible que la aplicación se esté ejecutando en múltiples instancias, cada una con su propio sistema de archivos aislado. Por lo tanto, cuando una instancia actualiza un archivo, es posible que no se refleje en las demás instancias.

    Una solución potencial a esto es utilizar una base de datos para almacenar el contenido actualizado en lugar de escribir directamente en archivos HTML. De esta manera, los datos se almacenan de forma centralizada y se pueden acceder desde todas las instancias de la aplicación. Otra solución podría ser utilizar un servicio de almacenamiento de archivos basado en la nube al que todas las instancias puedan acceder.

    También es importante tener en cuenta que escribir en archivos en un servidor web puede introducir vulnerabilidades de seguridad, por lo que puede valer la pena explorar métodos alternativos para actualizar el contenido de forma dinámica. Una opción podría ser utilizar JavaScript y solicitudes AJAX para actualizar el contenido en el lado del cliente sin escribir en archivos en el servidor.

    En general, es importante probar exhaustivamente y solucionar problemas en el proceso de implementación para identificar la causa raíz del problema y encontrar una solución adecuada.

Comments are closed.