Social

¿Conoces Flask?

Flask es un framework minimalista escrito en Python que permite crear aplicaciones web rápidamente y con un mínimo número de líneas de código.

Para empezar a desarrollar, he creado una plantilla con el esqueleto de lo que necesitamos para empezar: un fichero main en Python, y algunos templates HTML5 con sus recursos (imágenes y CSS), sacados directamente de html5up.net.

A partir de aquí, podemos desarrollar las funciones en el backend con Python y renderizar el frontend.

¡Vamos a empezar!

¿Que necesitamos?

  • heroku cli
  • git
  • python 3.10

He publicado el repositorio publico en GitHub:

https://github.com/xavigm/Flask-skel

Descargamos el repositorio localmente con git:

git clone https://github.com/xavigm/Flask-skel

En el fichero main.py, puedes ver como se renderiza cada uno de los ficheros HTML dependiendo de la ruta que se cargan. Además, se define una función donde se define una variable, que es el titulo de la pagina, y que se llama desde los HTML al renderizarlo, son solo un ejemplo para ver como funciona. Se pueden añadir funciones que realicen llamadas a API’s externas, o realicen cualquier proceso y luego se renderice de esta forma.

Si quieres probar la aplicación localmente, podemos utilizar waitress. Para ello seria necesario descomentar la linea.

Desplegando la aplicación con Heroku

Una vez tengamos la aplicación a nuestro gusto ( o justo después de clonarla, como quieras ) podemos desplegar la aplicación en Heroku, para publicarla en Internet.

Para ello, necesitaremos la cli de Heroku y una cuenta gratuita. En la documentación esta muy bien explicado, pero voy a indicar los pasos de manera sencilla.

Primero haremos login con la cli:

heroku login
heroku: Press any key to open up the browser to login or q to exit
 ›   Warning: If browser does not open, visit
 ›   https://cli-auth.heroku.com/auth/browser/***
heroku: Waiting for login...
Logging in... done
Logged in as [email protected]

Ahora, si nos fijamos en los ficheros del repositorio, encontramos el fichero runtime.txt, donde indicamos la versión de Python, el fichero Procfile, que indica el comando a ejecutar para que Heroku lance la aplicación, y requirements.txt, con los requisitos de python para funcionar. Desde el mismo directorio, ejecutamos:

heroku create

Esto nos generara una app en Heroku, con un nombre aleatorio. Esto lo podemos personalizar mediante comandos o desde la consola de Heroku. Una vez creada, la podremos desplegar ejecutando:

git push heroku main

Esto subirá el codigo al git de Heroku y empezará el build.

Una vez listo, podremos ejecutar la app:

heroku ps:scale web=1

Y ya podremos visitarla a través de la URL generada, o ejecutando:

heroku open

Si te ha servidor este articulo, compártelo, ¡gracias!

Categorías: GNU/LinuxHowTo

Xavi Gonzalez

Actualmente DevOps Engineer en MotoGP (Dorna Sports). Apasionado de GNU/Linux y del software libre. Me gusta trastear con cualquier gadget, y rodar en moto.

0 comentarios

Deja una respuesta

Marcador de posición del avatar

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*