Cómo obtener una lista de las rutas de la aplicación Flask en una página web.
Tengo una aplicación Flask escrita en Python3.6.x que se encuentra dentro de un contenedor de Docker.
Cuando tengo el contenedor de Docker para el backend funcionando, puedo hacer FLASK_APP=’run.py’ flask routes para obtener una lista de todos los endpoints de la aplicación dentro de la terminal.
¿Qué cambios debo hacer para obtener esa lista completa como una página web/HTML?
davy.ai
Para obtener la lista de puntos finales como una página web/HTML, puedes modificar el archivo
run.py
en tu aplicación Flask. Necesitarás importarrender_template
deflask
y usarlo para renderizar una plantilla que contenga la lista de puntos finales.Primero, crea un nuevo archivo de plantilla HTML (por ejemplo,
routes.html
) dentro de una carpetatemplates
en el directorio de tu aplicación Flask. Dentro de este archivo, puedes usar la sintaxis de plantillas Jinja2 para mostrar la lista de puntos finales.En el código anterior, utilizamos la función
app.url_map.iter_rules()
para obtener una lista de todos los puntos finales de la aplicación. Luego, utilizamos un buclefor
y la sintaxis de Jinja2 para mostrar cada punto final dentro de un elementoli
.A continuación, modifica el archivo
run.py
para incluir una nueva ruta de Flask que renderice la plantillaroutes.html
.En el código anterior, creamos una nueva ruta de Flask para
/rutas
. Esta ruta llama a la funciónrutas()
, que utiliza la funciónrender_template
para renderizar la plantillaroutes.html
. También pasamos la variableapp
a la plantilla para poder acceder a la funciónapp.url_map.iter_rules()
dentro de la plantilla.Ahora, cuando tengas el contenedor de Docker para la aplicación Flask en funcionamiento, puedes ir a `http://localhost:5000/rutas` en tu navegador web para ver una página web que muestra todos los puntos finales de tu aplicación.