Articulo de referencia

Flask (framework web)

Flask es un microframework web escrito en Python . Se clasifica como microframework porque no requiere herramientas ni bibliotecas específicas. [ 2 ] No tiene una capa de abstra...

Flask es un microframework web escrito en Python . Se clasifica como microframework porque no requiere herramientas ni bibliotecas específicas. [ 2 ] No tiene una capa de abstracción de base de datos , validación de formularios ni ningún otro componente donde las bibliotecas de terceros preexistentes proporcionen funciones comunes. Sin embargo, Flask admite extensiones que pueden agregar funcionalidades a la aplicación como si estuvieran implementadas en el propio Flask. Existen extensiones para mapeadores objeto-relacionales , validación de formularios, manejo de carga de archivos, diversas tecnologías de autenticación abierta y varias herramientas comunes relacionadas con el framework. [ 3 ]

Entre las aplicaciones que utilizan el framework Flask se encuentran Pinterest y LinkedIn .

Historia

Flask fue creado por Armin Ronacher de Pocoo, un grupo internacional de entusiastas de Python formado en 2004. [ 4 ] Según Ronacher, la idea fue originalmente una broma del Día de los Inocentes que tuvo suficiente éxito como para convertirse en una aplicación seria. [ 5 ] [ 6 ] [ 7 ] El nombre es un juego de palabras con el anterior framework Bottle. [ 5 ]

Cuando Ronacher y Georg Brandl crearon un sistema de tablón de anuncios escrito en Python en 2004, se desarrollaron los proyectos Pocoo Werkzeug y Jinja . [ 8 ]

En abril de 2016, el equipo de Pocoo se disolvió y el desarrollo de Flask y las bibliotecas relacionadas pasó al proyecto Pallets, de reciente creación. [ 9 ] [ 10 ]

Flask se ha vuelto popular entre los entusiastas de Python. A octubre de 2020, tiene el segundo mayor número de estrellas en GitHub entre los frameworks de desarrollo web de Python, solo ligeramente por detrás de Django , [ 11 ] y fue votado como el framework web más popular en la Encuesta de Desarrolladores de Python durante los años comprendidos entre 2018 y 2022 inclusive. [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ 16 ]

Componentes

El microframework Flask forma parte de los proyectos Pallets (anteriormente Pocoo ) y se basa en varios otros de la misma familia, todos bajo una licencia BSD .

Werkzeug

Werkzeug ( que significa "herramienta" en alemán ) es una biblioteca de utilidades para el lenguaje de programación Python, destinada a aplicaciones WSGI ( Web Server Gateway Interface ). Werkzeug permite instanciar objetos para funciones de solicitud, respuesta y utilidad. Puede utilizarse como base para un marco de software personalizado y es compatible con Python 2.7, 3.5 y versiones posteriores. [ 17 ] [ 18 ]

Jinja

Jinja, también de Ronacher, es un motor de plantillas para el lenguaje de programación Python. Al igual que el framework web Django, gestiona las plantillas en un entorno aislado (sandbox) .

MarkupSafe

MarkupSafe es una biblioteca para el manejo de cadenas de caracteres en el lenguaje de programación Python. El tipo MarkupSafe, que da nombre a la biblioteca , extiende el tipo de cadena de Python y marca su contenido como "seguro". Al combinar MarkupSafe con cadenas regulares, se escapan automáticamente las cadenas no marcadas, evitando al mismo tiempo el doble escape de las cadenas ya marcadas.

Es peligroso

ItsDangerous es una biblioteca de serialización de datos segura para el lenguaje de programación Python. Se utiliza para almacenar la sesión de una aplicación Flask en una cookie , impidiendo que los usuarios manipulen su contenido.

Hacer clic

Click es un paquete de Python utilizado por Flask para crear interfaces de línea de comandos ( CLI ) proporcionando una forma sencilla y modular de definir comandos, argumentos y opciones.

Características

  • Servidor de desarrollo y depurador
  • Soporte integrado para pruebas unitarias
  • Envío de solicitudes RESTful
  • Utiliza plantillas Jinja.
  • Compatibilidad con cookies seguras (sesiones del lado del cliente)
  • Cumple al 100% con la norma WSGI 1.0.
  • Basado en Unicode
  • Documentación completa
  • Compatibilidad con Google App Engine
  • Extensiones disponibles para ampliar la funcionalidad.

Ejemplo

El siguiente código muestra una aplicación web sencilla que muestra "¡ Hola Mundo !" cuando se visita:

from flask import Flask app = Flask ( __name__ )@app . route ( "/" ) def hello () -> str : return "Hola Mundo"if __name__ == "__main__ " : app.run ( )

Plantilla de renderizado con Flask

from flask import Flask , render_templateaplicación = Flask ( __name__ )@app . route ( "/" ) def message (): message = "¡Hola Mundo!"return render_template ( "index.html" , message = message )

Jinja en HTML para la plantilla de renderizado

<!DOCTYPE html> < html lang = "en" > < head > < meta charset = "UTF-8" > < title > {{ message }} </ title > </ head > < body > < p > {{ message }} </ p > </ body > </ html >

Véase también

Referencias

  1. ^ "Versión 3.1.3" . 19 de febrero de 2026. Consultado el 7 de abril de 2026 .
  2. ^ "Prólogo de Flask" . Archivado del original el 17 de noviembre de 2017.
  3. ^ "Extensiones de Flask" . Archivado del original el 17 de mayo de 2018.
  4. ^ "Equipo Pocoo" . Archivado del original el 15 de marzo de 2018.
  5. ^ a b Ronacher, Armin. "Opening the Flask" (PDF) . Archivado del original (PDF) el 17 de diciembre de 2016. Recuperado el 30 de septiembre de 2011 .
  6. ^ Ronacher, Armin (3 de abril de 2010). "Autopsia del 1 de abril" . Pensamientos y escritos de Armin Ronacher . Archivado del original el 14 de mayo de 2018. Recuperado el 25 de julio de 2015 .
  7. ^ "Denegado: el microframework web de Python de próxima generación (página del Día de los Inocentes)" . Archivado del original el 4 de septiembre de 2011. Recuperado el 30 de septiembre de 2011 .
  8. ^ "Historial" . Equipo Pocoo. Archivado del original el 19/11/2017 . Consultado el 25/03/2015 .
  9. ^ Ronacher, Armin (2016-04-01). "Hola usuarios de Pallets" . Los proyectos de Pallets . Recuperado el 2021-05-08 .
  10. ^ "Pocoo" . www.pocoo.org . Consultado el 8 de mayo de 2021 .
  11. ^ "Bibliotecas de Python por estrellas de GitHub" . Github . Consultado el 27 de enero de 2020 .
  12. ^ "Encuesta a desarrolladores de Python 2018" . www.jetbrains.com. 1 de noviembre de 2018.
  13. ^ "Encuesta a desarrolladores de Python 2019" . www.jetbrains.com. 2019.
  14. ^ "Encuesta a desarrolladores de Python 2020" . www.jetbrains.com. 2020.
  15. ^ "Encuesta a desarrolladores de Python 2021" . www.jetbrains.com. 2021.
  16. ^ "Resultados de la encuesta a desarrolladores de Python 2022" . www.jetbrains.com. 2022. Consultado el 17 de octubre de 2023 .
  17. ^ Ronacher, Armin. "Werkzeug La biblioteca de utilidades WSGI de Python" . palletsprojects.com . Consultado el 27 de mayo de 2018 .
  18. ^ Ronacher, Armin. "Instalación, versión Python" . palletsprojects.com . Archivado del original el 11 de mayo de 2021. Recuperado el 20 de abril de 2020 .
  • Sitio web oficialEdita esto en Wikidata
Obtenido de " https://en.wikipedia.org/w/index.php?title=Flask_(web_framework)&oldid=1356809434 "