Marco piramidal

Pyramid es un marco de desarrollo de aplicaciones web general, de código abierto, construido en Python. Permite al desarrollador de Python crear aplicaciones web con facilidad.

Pyramid está respaldado por el sistema de gestión del conocimiento empresarial KARL (un proyecto de George Soros).

Instalación, puesta en marcha y configuración

Como se describe, "el marco de inicio pequeño, final grande, permanecer terminado", Pyramid se parece mucho a Flask, que requiere muy poco esfuerzo para instalar y ejecutar. De hecho, reconocerá que algunos de los patrones son similares a Flask una vez que comience a construir esta aplicación.

Los siguientes son los pasos para crear un entorno de marco piramidal:

  • Primero, cree un directorio de proyecto. Aquí, hemos creado un directorio llamadopyramidProject (puede elegir el nombre que desee).

  • A continuación, cree un entorno virtual donde instalará todas las dependencias específicas del proyecto. Aquí, creamos una carpeta de entorno virtual llamadapyramidEnv donde está instalado Pyramid.

  • Luego, vaya al directorio, pyramidEnv e instala la pirámide con pip install pyramid.

Una vez que todo esté hecho como se mencionó anteriormente, la estructura de su directorio será como se muestra a continuación:

Y la versión piramidal instalada en el sistema se da a continuación:

Conceptos básicos

El marco de la pirámide se basa en los siguientes conceptos básicos:

  • Zope (extensibilidad, recorrido, seguridad declarativa): Pyramid se basa libremente en Zope en términos de extensibilidad, el concepto de recorrido y la seguridad declarativa.

  • Pylons(Envío de URL, visión sin opiniones de la persistencia, creación de plantillas, etc.) - Otra área de donde la pirámide extrae su concepto es el proyecto de las torres. Los pilones tienen ese concepto de rutas, que llama al envío de URL dentro del marco piramidal y también tienen la visión sin opiniones de la capa de persistencia o plantillas.

  • Django(Ver, nivel de documentación) - Pyramid también recibe pistas de Django. La forma en que tomamos nuestro punto de vista, enrutamos nuestra URL y el nivel de documentación es muy similar a Django.

Las siguientes son las características del marco Pyramid:

  • Es el framework web Python más rápido conocido.

  • Es compatible con proyectos pequeños y grandes (por qué reescribir cuando se supera su pequeño marco).

  • Admite aplicaciones web de un solo archivo como microframeworks.

  • Tiene sesiones integradas.

  • Admite eventos similares a Plone / Zope.

  • Proporciona Gestión de transacciones (si ya se ha dado cuenta de que hemos utilizado Zope antes).

Configuración

La configuración es la configuración que influye en el funcionamiento de una aplicación. Hay dos formas de configurar una aplicación piramidal: configuración imperativa y configuración declarativa.

Soportes de configuración piramidal -

  • Configuración imperativa o incluso la anulación de las configuraciones basadas en decoradores

  • Detección de conflictos de configuración (incluida una determinación más local frente a menos local)

  • Extensibilidad de configuración (incluida desde múltiples aplicaciones)

  • Políticas flexibles de autenticación y autorización

  • Introspección programática de la configuración (ver el estado actual de las rutas para generar navegación)

Generación de URL

En pirámide, podemos generar URL para rutas, recursos y activos estáticos. Es fácil y flexible trabajar con API de generación de URL. Al generar URL a través de las distintas API de Pyramid, los usuarios pueden cambiar la configuración de forma arbitraria sin preocuparse mucho de romper un enlace con cualquiera de sus páginas web.

En resumen, URL en pirámide -

  • admite la generación de URL para permitir cambios en la aplicación que no rompan los enlaces.

  • genera URL a recursos estáticos que se encuentran dentro o fuera de la aplicación.

  • admite Rutas y Cruce.

Puntos de vista

Uno de los trabajos principales de Pyramid es encontrar e invocar una vista invocable cuando una solicitud llega a su aplicación. Las vistas invocables son fragmentos de código que hacen algo interesante en respuesta a una solicitud realizada en su aplicación.

Cuando asigna sus vistas a su envío de URL o código de Python, puede haber cualquier tipo de llamada. Las vistas pueden ser una declaración de función o una instancia, se pueden usar como una vista en la pirámide.

Algunos puntos importantes sobre las vistas se dan a continuación:

  • Las vistas se generan desde cualquier invocable.

  • Las vistas basadas en renderizadores pueden simplemente devolver diccionarios (no es necesario para devolver un objeto de estilo webby).

  • Admite múltiples vistas por ruta (GET frente a POST frente a verificación de encabezado HTTP, etc.).

  • Adaptadores de respuesta de vista (cuando desee especificar cómo se deben manejar los valores de devolución de vista frente a los objetos de respuesta).

Extensibilidad

Pyramid está diseñado pensando en la extensibilidad. Por lo tanto, si un desarrollador piramidal tiene en cuenta ciertas restricciones al crear una aplicación, un tercero debería poder cambiar el comportamiento de la aplicación sin necesidad de modificar su código fuente. El comportamiento de una aplicación piramidal que obedece a ciertas restricciones se puede anular o ampliar sin ninguna modificación. Está diseñado para implementaciones flexibles en múltiples entornos (sin singletons). Pyramid tiene soporte de middleware "Tweens" (middleware WSGI, pero se ejecuta en el contexto de Pyramid).

Ejecución de un programa Hello, Pyramid

El programa más simple que podemos pensar después de instalar el marco piramidal para comprobar si todo está funcionando bien, es ejecutar un programa simple "Hola, mundo" o "Hola, Pyramid".

A continuación se muestra mi programa piramidal "Hola, Pyramid" en el número de puerto 8000:

El ejemplo simple anterior es fácil de ejecutar. Guárdelo como app.py (en este, le hemos dado el nombre pyramid_helloW.py).

Ejecutando el programa más simple: -

A continuación, abra http://localhost:8000/en un navegador y verá el mensaje ¡Hola, pirámide! Mensaje de la siguiente manera:

La siguiente es la explicación del código anterior:

Línea no. 1-3

En la cabecera del archivo, tenemos declaraciones de importación. La primera línea importa la función make_server, que puede crear un servidor web simple cuando se pasa a una aplicación. La segunda y tercera línea importan la función de configuración y respuesta de la pirámide. Estas funciones se utilizan para configurar detalles y establecer parámetros para la aplicación y responder a solicitudes, respectivamente.

Línea no. 5-6

Ahora tenemos una definición de función llamada hello_world. Implementar el código de vista que genera la respuesta. Una función que cumple con el requisito de una vista es responsable de representar el texto que se devolverá a la entidad solicitante. En el caso anterior, la función, cuando se llama, usa la función Respuesta que importamos anteriormente. Esto devuelve un valor que se le debe dar al cliente.

Línea no. 8

if __name__ == '__main__': Python está diciendo, "Empiece aquí cuando se ejecute desde la línea de comando", en lugar de cuando se importe este módulo.

Línea no. 9-11

En la línea no. 9, creamos una variable llamada config a partir del objeto creado por la función del configurador que importamos en la parte superior del programa. Las líneas 10 y 11 llaman al método add_route y add_view de este objeto. Este método se utiliza para definir una vista que la aplicación puede utilizar. Como podemos ver, pasamos la función hello_world que definimos anteriormente. Aquí es donde esa función se incorpora realmente como vista.

Línea no. 12-14

En esto, realmente creamos la aplicación WSGI llamando al método make_wsgi_app del objeto de configuración. Esto usa los atributos del objeto, como la vista que agregamos, para crear una aplicación. Luego, esta aplicación se pasa a la función make_server que importamos para crear un objeto que pueda iniciar un servidor web para servir nuestra aplicación. La última línea lanza este servidor.

Nuestra hello world applicationes una de las aplicaciones piramidales más simples y fáciles posibles, configurada "imperativamente". Es imperativo porque disponemos de toda la potencia de Python mientras realizamos tareas de configuración.

Para resumir, Pyramid es un marco web de Python de código abierto con una comunidad grande y activa. Esta gran comunidad contribuye a hacer que el marco web de Python sea popular y relevante. El marco web Pyramid simplifica y acelera el desarrollo de aplicaciones web al proporcionar un conjunto de funciones y herramientas sólidas.