Pyramidenrahmen

Pyramid ist ein allgemeines Open Source-Framework für die Entwicklung von Webanwendungen, das in Python erstellt wurde. Damit können Python-Entwickler problemlos Webanwendungen erstellen.

Pyramid wird vom Enterprise Knowledge Management System KARL (einem George Soros-Projekt) unterstützt.

Installieren, Starten und Konfigurieren

Wie beschrieben, "das Start-Small-, Finish-Big-, Stay-Finish-Framework", ähnelt Pyramid Flask, dessen Installation und Ausführung nur sehr wenig Aufwand erfordert. In der Tat werden Sie erkennen, dass einige der Muster Flask ähnlich sind, sobald Sie mit dem Erstellen dieser Anwendung beginnen.

Im Folgenden finden Sie die Schritte zum Erstellen einer Pyramiden-Framework-Umgebung:

  • Erstellen Sie zunächst ein Projektverzeichnis. Hier haben wir ein Verzeichnis mit dem Namen erstelltpyramidProject (Sie können einen beliebigen Namen wählen).

  • Erstellen Sie als Nächstes eine virtuelle Umgebung, in der Sie alle projektspezifischen Abhängigkeiten installieren. Hier haben wir einen Ordner für die virtuelle Umgebung mit dem Namen erstelltpyramidEnv wo Pyramid installiert ist.

  • Dann gehen Sie in das Verzeichnis, pyramidEnv und installieren Sie die Pyramide mit pip install pyramid.

Sobald alles wie oben erwähnt erledigt ist, sieht Ihre Verzeichnisstruktur wie folgt aus:

Und die im System installierte Pyramidenversion ist unten angegeben -

Kernkonzepte

Das Pyramid-Framework basiert auf den folgenden Kernkonzepten:

  • Zope (Erweiterbarkeit, Durchquerung, deklarative Sicherheit) - Pyramid basiert in Bezug auf Erweiterbarkeit, das Konzept der Durchquerung und die deklarative Sicherheit lose auf Zope.

  • Pylons(URL-Versand, nicht meinungsgebundene Ansicht der Persistenz, Vorlage usw.) - Ein weiterer Bereich, aus dem die Pyramide ihr Konzept bezieht, ist das Pylons-Projekt. Pylone haben das Konzept von Routen, das den URL-Versand innerhalb des Pyramiden-Frameworks aufruft, und sie haben auch die nicht meinungsgebundene Ansicht der Persistenzschicht oder des Templating.

  • Django(Ansicht, Dokumentationsstufe) - Pyramid erhält auch einen Hinweis von Django. Die Art und Weise, wie wir unsere Ansicht vertreten, unsere URL weiterleiten und die Dokumentationsebene ist sehr Django-artig.

Das Folgende sind die Merkmale des Pyramiden-Frameworks -

  • Es ist das schnellste bekannte Python-Webframework.

  • Es unterstützt kleine und große Projekte (warum neu schreiben, wenn Sie aus Ihrem kleinen Framework herauswachsen).

  • Es unterstützt Webapps mit einzelnen Dateien wie Mikroframeworks.

  • Es hat integrierte Sitzungen.

  • Es unterstützt Ereignisse ähnlich wie Plone / Zope.

  • Es bietet Transaktionsmanagement (falls Sie bereits bemerkt haben, dass wir Zope bereits verwendet haben).

Aufbau

Konfiguration sind die Einstellungen, die den Betrieb einer Anwendung beeinflussen. Es gibt zwei Möglichkeiten, eine Pyramidenanwendung zu konfigurieren: Imperative Konfiguration und deklarative Konfiguration.

Pyramidenkonfiguration unterstützt -

  • Imperative Konfiguration oder sogar das Überschreiben der auf Dekoratoren basierenden Konfigurationen

  • Erkennung von Konfigurationskonflikten (einschließlich mehr lokaler oder weniger lokaler Bestimmung)

  • Konfigurationserweiterbarkeit (in mehreren Apps enthalten)

  • Flexible Authentifizierungs- und Autorisierungsrichtlinien

  • Programmatische Überprüfung der Konfiguration (aktuellen Status der Routen anzeigen, um Navi zu generieren)

URL-Generierung

In Pyramid können wir URLs für Routen, Ressourcen und statische Assets generieren. Es ist einfach und flexibel, mit APIs zur URL-Generierung zu arbeiten. Durch das Generieren von URLs über die verschiedenen APIs von pyramid können Benutzer die Konfiguration beliebig ändern, ohne sich Sorgen machen zu müssen, dass ein Link zu einer Ihrer Webseiten unterbrochen wird.

Kurz gesagt, URL in der Pyramide -

  • unterstützt die URL-Generierung, um Änderungen an der App zu ermöglichen, die keine Links unterbrechen.

  • generiert URLs zu statischen Ressourcen, die sich entweder innerhalb oder außerhalb der Anwendung befinden.

  • unterstützt Routen und Traversal.

Ansichten

Eine der Hauptaufgaben von Pyramid besteht darin, eine aufrufbare Ansicht zu finden und aufzurufen, wenn eine Anforderung Ihre Anwendung erreicht. View Callables sind Codebits, die als Antwort auf eine in Ihrer Anwendung gestellte Anfrage etwas Interessantes bewirken.

Wenn Sie Ihre Ansichten Ihrem URL-Versand oder Python-Code zuordnen, kann es zu jeder Art von Anruf kommen. Ansichten können eine Funktionsdeklaration oder eine Instanz sein und als Ansicht in der Pyramide verwendet werden.

Einige wichtige Punkte zu Ansichten sind unten aufgeführt -

  • Ansichten werden von jedem aufrufbaren generiert.

  • Renderer-basierte Ansichten können einfach Wörterbücher zurückgeben (nicht erforderlich, um ein Objekt im Webby-Stil zurückzugeben).

  • Unterstützt mehrere Ansichten pro Route (GET vs. POST vs. HTTP-Header-Prüfung usw.).

  • Antwortadapter anzeigen (wenn Sie angeben möchten, wie Ansichtsrückgabewerte im Vergleich zu Antwortobjekten behandelt werden sollen).

Erweiterbarkeit

Pyramid wurde unter Berücksichtigung der Erweiterbarkeit entwickelt. Wenn ein Pyramidenentwickler beim Erstellen einer Anwendung bestimmte Einschränkungen berücksichtigt, sollte ein Dritter in der Lage sein, das Verhalten der Anwendung zu ändern, ohne den Quellcode ändern zu müssen. Das Verhalten einer Pyramidenanwendung, die bestimmte Einschränkungen erfüllt, kann ohne Änderung überschrieben oder erweitert werden. Es ist für flexible Bereitstellungen in mehreren Umgebungen (keine Singletons) konzipiert. Pyramid bietet Middleware-Unterstützung für Tweens (WSGI Middleware, wird jedoch im Kontext von Pyramid selbst ausgeführt).

Ausführen eines Hello, Pyramid-Programms

Das einfachste Programm, das wir nach der Installation des Pyramiden-Frameworks denken können, um zu überprüfen, ob alles einwandfrei funktioniert, ist die Ausführung eines einfachen Programms „Hallo, Welt“ oder „Hallo, Pyramide“.

Unten ist mein Pyramidenprogramm "Hallo, Pyramide" auf 8000 Portnummer -

Das obige einfache Beispiel ist einfach auszuführen. Speichern Sie dies als app.py (In diesem haben wir den Namen pyramid_helloW.py angegeben).

Ausführen des einfachsten Programms: -

Als nächstes öffnen http://localhost:8000/in einem Browser, und Sie werden die Hallo, Pyramide! Nachricht wie folgt -

Das Folgende ist die Erklärung für den obigen Code -

Linie Nr. 1-3

Am Anfang der Datei stehen Importanweisungen. In der ersten Zeile wird die Funktion make_server importiert, mit der ein einfacher Webserver erstellt werden kann, wenn er an eine Anwendung übergeben wird. Die zweite und dritte Zeile importieren die Konfigurations- und Antwortfunktion aus der Pyramide. Diese Funktionen werden verwendet, um Details zu konfigurieren und Parameter für die Anwendung festzulegen bzw. auf Anforderungen zu antworten.

Linie Nr. 5-6

Jetzt haben wir eine Funktionsdefinition namens hello_world. Implementieren Sie den Ansichtscode, der die Antwort generiert. Eine Funktion, die die Anforderung einer Ansicht erfüllt, ist für das Rendern des Texts verantwortlich, der an die anfordernde Entität zurückgegeben wird. Im obigen Fall verwendet die aufgerufene Funktion die zuvor importierte Antwortfunktion. Dies gibt einen Wert zurück, der dem Client gegeben werden sollte.

Linie Nr. 8

if __name__ == '__main__': Python sagt: "Beginnen Sie hier, wenn Sie über die Befehlszeile ausgeführt werden", anstatt dieses Modul zu importieren.

Linie Nr. 9-11

In Zeile Nr. In 9 erstellen wir eine Variable namens config aus dem Objekt, das von der Konfiguratorfunktion erstellt wurde, die wir oben im Programm importiert haben. Die Zeilen 10 und 11 rufen die Methoden add_route und add_view dieses Objekts auf. Diese Methode wird verwendet, um eine Ansicht zu definieren, die von der Anwendung verwendet werden kann. Wie wir sehen können, übergeben wir die zuvor definierte Funktion hello_world. Hier wird diese Funktion tatsächlich als Ansicht integriert.

Linie Nr. 12-14

In diesem Fall erstellen wir die WSGI-Anwendung tatsächlich, indem wir die Methode make_wsgi_app des Konfigurationsobjekts aufrufen. Dabei werden die Attribute des Objekts verwendet, z. B. die von uns hinzugefügte Ansicht, um eine Anwendung zu erstellen. Diese Anwendung wird dann an die von uns importierte Funktion make_server übergeben, um ein Objekt zu erstellen, mit dem ein Webserver für unsere Anwendung gestartet werden kann. Die letzte Zeile startet diesen Server.

Unsere hello world applicationist eine der einfachsten und einfachsten Pyramidenanwendungen, die „zwingend“ konfiguriert wird. Dies ist unbedingt erforderlich, da uns bei der Ausführung von Konfigurationsaufgaben die volle Leistung von Python zur Verfügung steht.

Zusammenfassend ist Pyramid ein Open-Source-Python-Webframework mit einer großen und aktiven Community. Diese große Community trägt dazu bei, das Python-Webframework populär und relevant zu machen. Das Pyramid Web Framework vereinfacht und beschleunigt die Entwicklung von Webanwendungen durch die Bereitstellung einer Reihe robuster Funktionen und Tools.