Pasar un Path en Python Flask

22/Ene/2016 Python Deja un comentario

Cuando estemos creando servicios Rest en Python Flask se puede dar el caso de necesitar subir un fichero a un servicio. En este caso es posible que haya que enviar un path al servicio. Y qué quiere decir que pasemos un path como variable a un servicio Flask, pues que la estructura de la variable path puede confundirse con el Path propio del servicio. En este ejemplo vamos a ver como podemos pasar un Path en PythonFlask.

Si ya has instalado el microframework Flask:

pip install Flask

Y has creado tu aplicación Flask:

  1. from flask import Flask
  2. app = Flask(__name__)
  3.  
  4. if __name__ == '__main__':
  5. app.run()

Deberas crear una ruta que acepte el path como variable de la petición en el endpoint.

  1.  
  2. @app.route('/fichero/<ruta>',methods=['GET'])
  3. def fichero(ruta):
  4. return 'Ruta del fichero ' + ruta

El problema de crear esta ruta con el método .route() es que Flask va a ignorar variables del tipo '/fichero/directorio/subdirectorio/fichero.png' ya que se confunde con el path del endpoint.

Para poder solucionarlo deberemos de indicar que la variable es de tipo Path. Así codificaremos nuestra ruta en Flask de la siguiente forma:

  1. @app.route('/fichero/<path:ruta>',methods=['GET'])
  2. def fichero(ruta):
  3. return 'Ruta del fichero ' + ruta

Así ya podremos pasar un Path en Python Flask y subir la ruta de un fichero a nuestro servicio Flask.

Vídeos sobre Flask


Difunde el Conocimiento

Si te ha gustado el artículo o te ha sido de utilidad, no dejes de compartirlo con tus amigos en las redes sociales... Te estaremos muy agradecidos. :-D

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

*