Notas de Luis

Nivel superior

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:

Documentación Flask

computing/web/flask_app_1.txt · Última modificación: por 127.0.0.1