Ir al contenido

Pasar un Path en Python Flask

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 Python Flask.

Si ya has instalado el microframework Flask:

pip install Flask

Y has creado tu aplicación Flask:

from flask import Flask
app = Flask(__name__)

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

@app.route('/fichero/<path>')
def subir_fichero(path):
return f'Fichero: {path}'

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:

@app.route('/fichero/<path:ruta>')
def subir_fichero(ruta):
return f'Fichero: {ruta}'

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

Foto de Víctor Cuervo

Víctor Cuervo

Programador, Arquitecto IT, álter ego de Línea de Código, amante de las tecnologías, generador de conocimiento y facilitador del aprendizaje.

Descarga el código de Pasar un Path en Python Flask

Como poder subir un fichero a un servicio Flask y así poder pasar un path en Python Flask.

Descargar código