Cadre de pyramide

Pyramid est un cadre de développement d'applications Web général, open source, construit en python. Il permet aux développeurs python de créer facilement des applications Web.

Pyramid est soutenu par le système de gestion des connaissances d'entreprise KARL (un projet George Soros).

Installation, mise en service et configuration

Comme décrit, «le début petit, finissez grand, restez le cadre terminé», Pyramid ressemble beaucoup à Flask qui demande très peu d'effort à installer et à exécuter. En fait, vous reconnaîtrez que certains des modèles sont similaires à Flask une fois que vous commencez à créer cette application.

Voici les étapes pour créer un environnement de structure pyramidale -

  • Commencez par créer un répertoire de projet. Ici, nous avons créé un répertoire nommépyramidProject (vous pouvez choisir le nom de votre choix).

  • Ensuite, créez un environnement virtuel dans lequel vous installerez toutes les dépendances spécifiques au projet. Ici, nous avons créé un dossier d'environnement virtuel nommépyramidEnv où Pyramid est installé.

  • Ensuite, allez dans le répertoire, pyramidEnv et installez la pyramide avec pip install pyramid.

Une fois que tout est fait comme mentionné ci-dessus, votre structure de répertoire sera comme indiqué ci-dessous -

Et la version pyramidale installée dans le système est donnée ci-dessous -

Concepts de base

Le cadre Pyramid est basé sur les concepts de base ci-dessous -

  • Zope (extensibilité, traversée, sécurité déclarative) - Pyramid est vaguement basée sur Zope en termes d'extensibilité, le concept de traversée et la sécurité déclarative.

  • Pylons(Envoi d'URL, vision non avisée de la persistance, création de modèles, etc.) - Un autre domaine d'où la pyramide tire son concept est le projet pylônes. Les pylônes ont ce concept de routes, qui appelle la distribution d'URL à l'intérieur du cadre de la pyramide et ils ont également la vue sans opinion de la couche de persistance ou du modèle.

  • Django(Vue, niveau de documentation) - Pyramid obtient également un indice de Django. La façon dont nous prenons notre point de vue, achemine notre URL et le niveau de documentation est très Django.

Voici les caractéristiques du framework Pyramid -

  • C'est le framework Web Python le plus connu.

  • Il prend en charge les petits et grands projets (pourquoi réécrire lorsque vous dépassez votre petit framework).

  • Il prend en charge les applications Web à fichier unique telles que les microframeworks.

  • Il a des sessions intégrées.

  • Il prend en charge les événements similaires à Plone / Zope.

  • Il fournit la gestion des transactions (si vous avez déjà remarqué que nous avons déjà utilisé Zope).

Configuration

La configuration correspond aux paramètres qui influencent le fonctionnement d'une application. Il existe deux façons de configurer une application pyramidale: la configuration impérative et la configuration déclarative.

Prise en charge de la configuration Pyramid -

  • Configuration impérative ou même le dépassement des configurations basées sur le décorateur

  • Détection des conflits de configuration (y compris une détermination plus locale ou moins locale)

  • Extensibilité de la configuration (incluse à partir de plusieurs applications)

  • Politiques d'authentification et d'autorisation flexibles

  • Introspection programmatique de la configuration (voir l'état actuel des routes pour générer la navigation)

Génération d'URL

Dans la pyramide, nous pouvons générer des URL pour les routes, les ressources et les actifs statiques. Il est facile et flexible de travailler avec des API de génération d'URL. En générant des URL via les différentes API de Pyramid, les utilisateurs peuvent modifier la configuration de manière arbitraire sans trop se soucier de rompre un lien avec l'une de vos pages Web.

Donc en bref, URL en pyramide -

  • prend en charge la génération d'URL pour permettre des modifications d'application qui ne rompent pas les liens.

  • génère des URL vers des ressources statiques qui vivent à l'intérieur ou à l'extérieur de l'application.

  • prend en charge les itinéraires et la traversée.

Vues

L'une des tâches principales de pyramid est de rechercher et d'appeler une vue appelable lorsqu'une requête atteint votre application. Les callables de vue sont des morceaux de code qui font quelque chose d'intéressant en réponse à une demande faite dans votre application.

Lorsque vous mappez vos vues sur votre distribution d'URL ou votre code python, il peut y avoir n'importe quel type d'appel. Les vues peuvent être une déclaration de fonction ou une instance, elles peuvent être utilisées comme vue dans la pyramide.

Quelques points importants sur les vues sont donnés ci-dessous -

  • Les vues sont générées à partir de tout appelable.

  • Les vues basées sur le moteur de rendu peuvent simplement renvoyer des dictionnaires (non requis pour renvoyer un objet de style Webby).

  • Prise en charge de plusieurs vues par route (GET vs POST vs vérification d'en-tête HTTP, etc.).

  • Adaptateurs de réponse de vue (lorsque vous souhaitez spécifier comment les valeurs de retour de vue doivent être gérées par rapport aux objets de réponse).

Extensibilité

Pyramid est conçu avec l'extensibilité à l'esprit. Ainsi, si un développeur de pyramide garde à l'esprit certaines contraintes lors de la création d'une application, un tiers devrait être en mesure de modifier le comportement de l'application sans avoir à modifier son code source. Le comportement d'une application pyramidale qui obéit à certaines contraintes peut être remplacé ou étendu sans aucune modification. Il est conçu pour des déploiements flexibles dans plusieurs environnements (sans singletons). Pyramid prend en charge le middleware «Tweens» (middleware WSGI, mais fonctionne dans le contexte de Pyramid lui-même).

Exécution d'un programme Hello, Pyramid

Le programme le plus simple auquel on puisse penser après avoir installé le framework pyramid pour vérifier si tout fonctionne correctement est d'exécuter un simple programme «Hello, World» ou «Hello, Pyramid».

Ci-dessous mon programme pyramide «Hello, Pyramid» sur 8000 numéros de port -

L'exemple ci-dessus simple est facile à exécuter. Enregistrez-le sous app.py (en cela, nous avons donné le nom pyramid_helloW.py).

Exécution du programme le plus simple: -

Ensuite, ouvrez http://localhost:8000/dans un navigateur, et vous verrez le Hello, Pyramid! Message comme suit -

Ce qui suit est l'explication du code ci-dessus -

Ligne no. 1-3

En tête du fichier, nous avons des instructions d'import. La première ligne importe la fonction make_server, qui peut créer un simple serveur Web lorsqu'il est passé à une application. La deuxième et la troisième ligne importent la configuration et la fonction de réponse à partir de la pyramide. Ces fonctions sont utilisées pour configurer les détails et définir les paramètres de l'application et répondre aux demandes, respectivement.

Ligne no. 5-6

Nous avons maintenant une définition de fonction appelée hello_world. Implémentez le code de vue qui génère la réponse. Une fonction qui remplit l'exigence d'une vue est responsable du rendu du texte qui sera renvoyé à l'entité demandeuse. Dans le cas ci-dessus, la fonction, lorsqu'elle est appelée, utilise la fonction Response que nous avons importée précédemment. Cela renvoie une valeur qui doit être donnée au client.

Ligne no. 8

if __name__ == '__main__': Python dit, "Commencez ici lors de l'exécution à partir de la ligne de commande", plutôt que lorsque ce module est importé.

Ligne no. 9-11

En ligne no. 9, nous créons une variable appelée config à partir de l'objet créé par la fonction de configuration que nous avons importée en haut du programme. Les lignes 10 et 11 appellent les méthodes add_route et add_view de cet objet. Cette méthode permet de définir une vue utilisable par l'application. Comme nous pouvons le voir, nous passons la fonction hello_world que nous avons définie précédemment. C'est là que cette fonction est réellement incorporée en tant que vue.

Ligne no. 12-14

En cela, nous créons en fait l'application WSGI en appelant la méthode make_wsgi_app de l'objet de configuration. Cela utilise les attributs de l'objet, tels que la vue que nous avons ajoutée, pour créer une application. Cette application est ensuite passée à la fonction make_server que nous avons importée afin de créer un objet pouvant lancer un serveur web pour servir notre application. La dernière ligne lance ce serveur.

Notre hello world applicationest l'une des applications pyramidales les plus simples et les plus simples possibles, configurée «impérativement». C'est impératif car toute la puissance de Python est à notre disposition lorsque nous effectuons des tâches de configuration.

Pour résumer, Pyramid est un framework Web Python open source avec une communauté nombreuse et active. Cette grande communauté contribue à rendre le framework web python populaire et pertinent. Le framework Web Pyramid simplifie et accélère le développement d'applications Web en fournissant un ensemble de fonctionnalités et d'outils robustes.