Tabla de Contenidos
Flask - 1 - Desarrollo.
Introducción
Tutorial de Desarrollo de una Aplicación con Flask y Gestión con systemd
Referencias: Flask mega tutorial
Requerimientos
- Linux server (basado en paquetes
.deb, como Ubuntu o Mint) - Flask
- Pipenv
Preparación del Entorno de Desarrollo
Instalación de Dependencias
Primero, asegúrate de tener instaladas las dependencias necesarias en el servidor. Pipenv es una herramienta para la gestión de dependencias de Python.
sudo apt update sudo apt install python3-pip python3-dev curl pipenv
Una alternativa para usar un pipenv más actualizado es instalarlo con pip:
sudo apt install python3-pip pip install --user pipenv
Creación del Proyecto
Crea un directorio para tu proyecto y navega a él:
mkdir my_flask_app cd my_flask_app
Inicialización del Entorno Virtual con Pipenv
Inicializa un nuevo entorno virtual y crea un archivo Pipfile:
pipenv shell
Esto creará un nuevo directorio en ~/.local/share/virtualenvs/ con los
scripts de activate y desactivate. Yo suelo modificar el script de activate
añadiendo al final cd directorio_de_trabajo, aunque no es una práctica
recomendada, a mí me resulta más cómodo.
Instalamos lo básico.
pipenv install flask
Creación de la Aplicación Base
Para montar una aplicación mínima de Flask hay que crear un fichero
app.py donde iniciaremos el desarrollo de la aplicación, con el siguiente
contenido:
from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello, World!' if __name__ == '__main__': app.run( host='0.0.0.0', port=5000, debug=True )
Ejecución de la Aplicación
Activa el entorno virtual y ejecuta la aplicación:
pipenv shell python app.py
* Serving Flask app 'app' * Debug mode: on * Running on all addresses (0.0.0.0) * Running on http://127.0.0.1:5000 * Running on http://192.168.12.34:5000 Press CTRL+C to quit
Ahora, puedes acceder a tu aplicación en http://127.0.0.1:5000.
También puedes acceder a la aplicación desde otro ordenador usando un navegador.
Usa la dirección IP del servidor y el puerto 5000. Hay que asegurarse que el
puerto 5000 no está bloqueado por un firewall.
La url sería algo como: http://192.168.12.34:5000.
Debería obtener Hello World en el navegador.
Pulsa CTRL+C para parar el servidor de desarrollo de Flask.
Creación de secret key
Esto se sale de lo que sería la creación de una aplicación Hello World, pero
lo mantengo para no perder mis notas.
Para crear la clave podemos usar el siguiente código:
import os os.urandom(24)
Esta clave secreta se puede configurar luego en la aplicación, para mejorar la seguridad de la aplicación.
app.secret_key = '76............................47'
Esta clave no debería estar directamente en el código sino formar parte de las variables de entorno o de configuración.
app.secret_key = config.dict['secret_key']
Explicar el uso de config.dict excede la intención de esta pequeña
introducción, pero aquí hay una referencia: