# Python - Flask + MySQL

Flask es un framework web ligero y flexible escrito en Python que se utiliza para construir aplicaciones web. Flask se clasifica como un "microframework", porque proporciona las herramientas esenciales para crear aplicaciones web, pero no impone una estructura o componentes específicos, lo que le da a los desarrolladores una gran flexibilidad y libertad para elegir las bibliotecas y herramientas que desean usar en sus proyectos.

Por otro lado, MySQL es un sistema de gestión de bases de datos relacionales de código abierto ampliamente utilizado que permite almacenar, organizar y recuperar datos de manera eficiente. Desarrollado por Oracle, MySQL ofrece una alta velocidad y confiabilidad, facilitando la administración de datos a través de consultas SQL. Su escalabilidad, soporte para múltiples plataformas y capacidad de integración con numerosos lenguajes de programación lo convierten en una opción popular para aplicaciones web y empresariales. MySQL es altamente personalizable y cuenta con una comunidad activa de desarrolladores que contribuyen a su mejora continua.

**Estructura del proyecto**

```
.
├── app
│   ├── hello.py
│   └── requirements.txt
├── app.Dockerfile
├── compose.yaml
├── db
│   └── password.txt
└── README.txt
```

**Despliegue de la aplicación:**

Nos dirigimos al directorio que contiene los archivos necesarios para construir el contenedor:

<pre><code><strong>cd /root/stack/python/flask-mysql
</strong></code></pre>

{% hint style="warning" %}
Antes de dar de alta por primera vez la aplicación, modificá el archivo `db/password.txt` y reemplazá su contenido con la contraseña que quieras usar para la base de datos.
{% endhint %}

Y levantamos la aplicación:

```
docker compose up -d
```

**Comandos útiles:**

Ver los contenedores que están corriendo:

```
docker compose ps
```

Detener y eliminar la aplicación:

```
docker compose down
```

Reconstruir la aplicación tras realizar cambios en el código:

```
docker compose --build -d
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ayuda.sitioshispanos.com/menu-principal/guias/servidor-de-aplicaciones/stacks-disponibles/python/python-flask-+-mysql.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
