Flask es un marco de micro web escrito en Python . Se clasifica como un microframework porque no requiere herramientas o bibliotecas particulares. [2] No tiene una capa de abstracción de base de datos, validación de formularios o cualquier otro componente donde las bibliotecas de terceros preexistentes proporcionan funciones comunes. Sin embargo, Flask admite extensiones que pueden agregar funciones de la aplicación como si estuvieran implementadas en el propio Flask. Existen extensiones para mapeadores relacionales de objetos, validación de formularios, manejo de carga, varias tecnologías de autenticación abierta y varias herramientas comunes relacionadas con el marco. [3]
Desarrollador (es) | Armin Ronacher |
---|---|
Versión inicial | 1 de abril de 2010 |
Lanzamiento estable | 2.0.1 [1] / 21 de mayo de 2021 |
Repositorio | github |
Escrito en | Pitón |
Tipo | Marco web |
Licencia | BSD |
Sitio web | palletsprojects |
Las aplicaciones que utilizan el marco de Flask incluyen Pinterest y LinkedIn . [4] [5]
Historia
Flask fue creado por Armin Ronacher de Pocoo, un grupo internacional de entusiastas de Python formado en 2004. [6] Según Ronacher, la idea era originalmente una broma de April Fool que era lo suficientemente popular como para convertirla en una aplicación seria. [7] [8] [9] El nombre es un juego en el marco de botella anterior . [7]
Cuando Ronacher y Georg Brandl crearon [ ¿cuándo? ] un sistema de tablero de anuncios escrito en Python, se desarrollaron los proyectos de Pocoo Werkzeug y Jinja . [10]
En abril de 2016, el equipo de Pocoo se disolvió y el desarrollo de Flask y las bibliotecas relacionadas pasó al proyecto Pallets recién formado. [11] [12]
Flask se ha vuelto popular entre los entusiastas de Python. A partir de octubre de 2020[actualizar], tiene la segunda mayor cantidad de estrellas en GitHub entre los marcos de desarrollo web de Python, solo un poco detrás de Django, [13] y fue votado como el marco web más popular en la Encuesta de desarrolladores de Python 2018. [14]
Componentes
El matraz de microframework forma parte de los Proyectos Pallets (antes Pocoo ), y se basa en varios otros de ellos.
Werkzeug
Werkzeug ( "herramienta" en alemán ) es una biblioteca de utilidades para el lenguaje de programación Python , en otras palabras, un juego de herramientas para aplicaciones de Interfaz de puerta de enlace de servidor web (WSGI), y tiene una licencia BSD . Werkzeug puede realizar objetos de software para funciones de solicitud, respuesta y utilidad. Se puede usar para construir un marco de software personalizado sobre él y es compatible con Python 2.7 y 3.5 y posteriores. [15] [16]
Jinja
Jinja, también de Ronacher, es un motor de plantillas para el lenguaje de programación Python y tiene una licencia BSD. Similar al marco web de Django , maneja plantillas en una caja de arena .
MarkupSafe
MarkupSafe es una biblioteca de manejo de cadenas para el lenguaje de programación Python, con licencia BSD. El tipo del mismo nombre MarkupSafe extiende el tipo de cadena de Python y marca su contenido como "seguro"; la combinación de MarkupSafe con cadenas regulares escapa automáticamente de las cadenas no marcadas, al tiempo que evita 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, con licencia BSD. Se utiliza para almacenar la sesión de una aplicación Flask en una cookie sin permitir que los usuarios manipulen el contenido de la sesión.
Características
- Servidor de desarrollo y depurador
- Soporte integrado para pruebas unitarias
- Despacho de solicitudes RESTful
- Utiliza plantillas Jinja
- Soporte para cookies seguras (sesiones del lado del cliente)
- 100% compatible con WSGI 1.0
- Basado en Unicode
- Documentación extensa
- Compatibilidad con Google App Engine
- Extensiones disponibles para mejorar las funciones deseadas
Ejemplo
El siguiente código muestra una aplicación web simple que muestra " ¡Hola mundo !" cuando se visita:
de matraz de importación Flask aplicación = Flask ( __name__ )@app . route ( "/" ) def hola () -> str : return "Hola mundo"if __name__ == "__main__" : aplicación . ejecutar ( debug = False )
Ver también
- Comparación de frameworks web
Referencias
- ^ "Versión 2.0.1" . 21 de mayo de 2021 . Consultado el 22 de mayo de 2021 .
- ^ "Prólogo del matraz" . Archivado desde el original el 17 de noviembre de 2017.
- ^ "Extensiones de matraces" . Archivado desde el original el 17 de mayo de 2018.
- ^ ¿Qué desafíos ha encontrado Pinterest con Flask?
- ^ Rachel Sanders: Desarrollo de extensiones de matraces - PyCon 2014
- ^ "Equipo Pocoo" . Archivado desde el original el 15 de marzo de 2018.
- ^ a b Ronacher, Armin. "Abriendo el matraz" (PDF) . Archivado desde el original (PDF) el 17 de diciembre de 2016 . Consultado el 30 de septiembre de 2011 .
- ^ Ronacher, Armin (3 de abril de 2010). "1 de abril Post Mortem" . Pensamientos y escritos de Armin Ronacher . Archivado desde el original el 14 de mayo de 2018 . Consultado el 25 de julio de 2015 .
- ^ "Denegado: la próxima generación de Python micro-web-framework (página de April Fools)" . Archivado desde el original el 4 de septiembre de 2011 . Consultado el 30 de septiembre de 2011 .
- ^ "Historia" . Equipo Pocoo. Archivado desde el original el 19 de noviembre de 2017 . Consultado el 25 de marzo de 2015 .
- ^ Ronacher, Armin (1 de abril de 2016). "Hola usuarios de Pallets" . Los proyectos de palets . Consultado el 8 de mayo de 2021 .
- ^ "Pocoo" . www.pocoo.org . Consultado el 8 de mayo de 2021 .
- ^ "Bibliotecas de Python por estrellas de GitHub" . Github . Consultado el 27 de enero de 2020 .
- ^ "Encuesta de desarrolladores de Python 2018" . www.jetbrains.com. 2018-11-01.
- ^ Ronacher, Armin. "Werkzeug La biblioteca de utilidades Python WSGI" . palletsprojects.com . Consultado el 27 de mayo de 2018 .
- ^ Ronacher, Armin. "Instalación, versión Python" . palletsprojects.com . Consultado el 20 de abril de 2020 .
enlaces externos
- Página web oficial