Crear datos JSON a partir de un diccionario en Flask (parte 1) (actualización- Docker)
El repositorio donde se encuentra el código en gitlab en la rama json1.
Los artículos sobre Flask lo pueden revisar en el enlace de artículos sobre flask.
Archivo Dockerfile
Se tiene el archivo Dockerfile a continuación:
FROM python
WORKDIR /code
RUN pip3 install --upgrade pip
RUN pip3 install flask
EXPOSE 5000
ADD . /code
CMD python app. py
El único cambio con respecto a la serie de tutoriales de Flask es que corre app.py en vez de run.py, se eliminaron varias dependencias de paquetes para simplificar la aplicación.
Archivo docker-compose. yml
El archivo docker-compose.yml se le cambia el nombre a la imagen, a continuación el código del archivo:
-json1: tutorial
: . build
: ports - "5000:5000"
: volumes - .
/code :
Archivo app. py
#! /usr/bin/env python#Seimporta de flask a Flask,jsonify y json from flask import Flask, jsonify , json #Se crea la instancia de la aplicacionapp = Flask( __name__)#Se tiene una lista de nombreslista = ["John Doe","Jane Doe"]#Secrea #Se define el decorador route donde se da la ruta del servidor web.@app. route( "/ListaEmpleados")def ListaEmpleados( ):try :#inicializar la lista de empleadoslistaEmpleados = []#crearinstancias para llenar lalista for i inlista :datos =i. split( " ")listaEmpleados.append({'nombre': datos[0],'apellido': datos[1]})# convertir en dato json al diccionariojsonStr =json . dumps( listaEmpleados )except (Exception, e):str ( e))#Retornael json return jsonify ( Empleados=jsonStr)if __name_ _== '__ m ain__':app . run ( host="0.0.0.0", debug=True)
Ejecución
Ahora se construye la imagen y se ejecuta el contenedor Docker:
Al abri el navegador en la dirección http://localhost:5000/ListaEmpleados se tiene la imagen a continuación:
La imagen muestra el json en el navegador.
La salida de la ejecución del contenedor es la siguiente:
Creating tutorialflask_tutorial-json1_1
Attaching to tutorialflask_tutorial-json1_1
tutorial-json1_1 | * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
tutorial-json1_1 | * Restarting with stat
tutorial-json1_1 | * Debugger is active!
tutorial-json1_1 | * Debugger pin code: 733-227-386
tutorial-json1_1 | 172.17.0.1 - - [25/Sep/2016 18:44:22] "GET /ListaEmpleados HTTP/1.1" 200 -
En próximo artículo se trabajará más con el json, como se menciona en el artículo original.
No hay comentarios:
Publicar un comentario