Verwenden von Vorlagen in Flask

Inhaltsverzeichnis
Eine Webanwendung benötigt einen Teil, den der Benutzer sehen kann und der aufgerufen wird Ansicht oder anzeigen und besteht aus einer Schnittstelle geschrieben in HTML Dies ermöglicht es uns, statische und dynamische Daten entsprechend dem Pfad anzuzeigen, auf den der Benutzer zugreift.
Wenn wir mit Mikroframeworks arbeiten wie Flasche, standardmäßig ist es nicht erforderlich, die Ansicht anzuzeigen, um zusätzliche Elemente zu verwenden, sondern nur den Code zurückzugeben HTML entsprechend können wir erreichen, um konsistente Daten zu zeigen.
Das Problem tritt auf, wenn unsere Anwendung zu wachsen beginnt und wir mehrere Ansichten haben, die Wiederholung des Codes unsere Anwendung mit Elementen füllt, die wir wiederverwenden könnten, und dass die manuelle Ausführung für uns eine größere Arbeit darstellt. Um dieses Problem zu vermeiden, haben wir die Vorlagen-Engines, die uns helfen, die Dateien wiederzuverwenden HTML und damit die Menge an Code reduzieren und zusätzlich die Lesbarkeit unseres Programms erhöhen.
Jinja2 ist eine vollständig in geschriebene Template-Engine Python und wurde nach der Template-Engine von . modelliert Django, dies ermöglicht es uns, Teile des Codes zu platzieren HTML und mit dem eigenen Code der Engine Labels einfügen, die später durch Daten aus unserer Anwendung ersetzt werden.
Was beinhaltet es noch?Es enthält auch eigene Funktionen, die uns helfen, die erhaltenen Daten zu formatieren, sowie die Handhabung von Bedingungen, Datumsfunktionen und anderen Elementen, die uns helfen, das Verhalten der Vorlage auf einfache und ausdrucksstarke Weise zu programmieren.
In der neuesten Version von Flasche Dieser Motor ist in der Installation enthalten, sodass seine Verwendung einfacher und schneller ist.
Wir hatten über das Erstellen einer Ansicht in . gesprochen Flasche es war so einfach wie den Code auszudrucken HTML in der gewünschten Pfadfunktion, dies kann jedoch für Neulinge in diesem Framework sehr verwirrend klingen.
Im folgenden Beispiel erstellen wir eine Ansicht, in der wir einen Parameter erhalten und im Ergebnis ausgeben. Das Interessante ist, dass dieser Parameter vom Benutzer eingegeben werden kann, also ist die Ansicht bis zu einem bestimmten Punkt dynamisch, mal sehen den Code und dann gehen wir zur Erklärung über:
 from Kolbenimport Flaskapp = Flask (__ name __) @ app.route ('/') @ app.route ('/ welcome') @ app.route ('/ welcome /') def welcome (name = None): name = Name oder 'Benutzer' return '' 'Willkommen!

Das ist unsere Ansicht made in Flask!

'' '% ifname __name__ ==' __main__ ': app.run ()
Was wir hier tun, ist etwas sehr Einfaches, zuerst importieren wir die Bibliotheken, die die Rahmen, dann definieren wir drei Schlüsselrouten, die uns alle zu der gleichen Funktion namens welcome führen und einen optionalen Parameter erhalten, der, wenn er nicht empfangen wird, im Programm einfach ignoriert wird.
Dann erstellen wir in der Funktion unsere Anweisung Rückkehr und hier zeigen wir an, dass a Zeichenfolge die enthalten HTML für die Aussicht. Wenn wir dieses Programm testen, erhalten wir im Browser ein akzeptables Ergebnis, mal sehen:

Viele mögen sagen, dass dies sehr funktional ist, aber was passiert, wenn wir, anstatt diese leere Seite anzuzeigen, CSS-Stile, JavaScript-Effekte oder andere Dinge integrieren möchten. Dann würde unser HTML mehr Code benötigen und daher wäre alles zu kompliziert, was unsere Anwendung zur Hölle machen würde.
Jetzt werden wir die gleiche Ansicht erstellen, aber mit der Vorlagen-Engine, die wir zu Beginn des Tutorials beschrieben haben, müssen wir einige Vorbereitungen treffen, um das Beispiel zu erreichen. Diese haben mit der Struktur unseres Projekts zu tun, denn wenn wir es sind Wenn Sie Vorlagendateien verwenden möchten, ist es am besten, diese von der Anwendung in andere Ordner zu trennen und dadurch unsere visuelle Schicht von der Geschäftsregel- und Logikschicht zu trennen.
Wenn wir dies wissen, müssen wir einen Ordner für unsere Vorlagen erstellen, aus Konventionsgründen nennen wir ihn Vorlagen, aber wir müssen auch andere Dinge haben, zum Beispiel müssen wir einen Ordner haben, der als Modul dient und wir nennen ihn mit dem Namen der Ansicht, die wir erstellen werden. Abgesehen davon, dass wir einige Dateien haben müssen, sehen wir im nächsten Bild die vollständige Struktur und gehen dann zum entsprechenden Code, damit alles funktioniert.

DateiinhaltBevor wir mit der Generierung und Verwendung der Vorlage fortfahren, müssen wir den Inhalt der Dateien sehen, damit unsere Anwendung problemlos läuft. Wir werden jede Datei kurz sehen, um nicht viel Zeit zu verschwenden. Es ist jedoch wichtig zu beachten, dass dies eine vorgeschlagene Struktur ist Flasche ermöglicht es jedem Entwickler, die Struktur zu erstellen, die gemäß seiner Zielsetzung am besten zu ihm passt.
Diese Datei ist diejenige, die es uns ermöglicht, die Anwendung auszuführen, daher der Name, sie kann im Allgemeinen aufgerufen werden run.py Auch, aber für die Zwecke dieses Tutorials haben wir einen Namen verwendet, der für die spanischsprachige Gemeinschaft verständlicher ist, hier müssen wir den folgenden Code einfügen:
 aus Flascheno import appapp.run (debug = True)

Dies ist die Datei, die sich im Stammverzeichnis der Anwendung befindet. Es ist notwendig, festzustellen, dass sie ausgeführt wird und ihre Abhängigkeiten, in dieser Datei definieren wir auch, dass die Datei verwendet wird ansichten.py des Willkommensordners, den wir zuvor gesehen haben, kann dieser einen beliebigen Namen haben, aber ansichten.py Es ist eine Konvention, die uns helfen wird, eine freundliche Bewerbung aufrechtzuerhalten, hier müssen wir Folgendes platzieren:
 from Flaskapp import Flaskapp = Flask (__ name __) import Flaskapp.bienvenido.views

Diese Datei muss leer sein, da sie nur vorhanden sein muss, damit Flasche interpretieren Sie, dass dieser Ordner ein Modul unserer Anwendung ist.
Da wir die Basisdateien für unsere Anwendung haben, ist es an der Zeit, die Ansicht zu erstellen und die Vorlage zu verwenden. Als erstes erstellen wir unsere Ansicht, diese wird der vorherigen Ansicht sehr ähnlich sein, aber verbessert, dafür müssen wir in der Datei arbeiten ansichten.py und platziere folgendes:
 from Flask import render_template, requestfrom Kolbeno import [email protected] ('/') @ app.route ('/ welcome') def welcome_web (): name = request.args.get ('name', 'User') return render_template ('index.html', name = name)
Als erstes importieren wir aus dem Framework die Bibliothek, die es uns ermöglicht, die Vorlagen und eine Bibliothek zur Verarbeitung der Browseranforderungen anzuzeigen.
Dann definieren wir die Routen, die diese Ansicht erscheinen lassen, in diesem Fall ist es die Wurzel / und auch wenn das Wort platziert wird Willkommen.
Schließlich definieren wir unsere Funktion Willkommen die dem Variablennamen die aus der Browseranfrage erhaltenen Parameter zuweist und dann die Funktion zurückgibt render_template, dies ruft die Vorlage auf und übergibt den Variablennamen als Parameter, wobei wir auch den Namen der Vorlage angeben.
Es ist Zeit, die Vorlage zu erstellen, dies ist im Grunde eine Datei mit Inhalt HTML und mit einigen Tags, die uns helfen, Dynamik zu verleihen, ist die zu ändernde Datei die index.html das ist im ordner Vorlagen, sehen wir uns den Code an, den wir verwenden werden:
 Willkommen {{name}}

Wir verwenden Flask!

Dieser Code ist einfach, wir machen unsere HTML basic und dort, wo der generierte Inhalt in der Ansicht erscheinen soll, platzieren wir einfach doppelte geschweifte Klammern {{}} und darin der Name des Parameters, dies bedeutet, dass dieser Wert beim Ausführen der Anwendung durch den gewünschten Inhalt ersetzt wird. Wenn wir im folgenden Bild sehen, erkennen wir, wie der Name, den wir als Parameter über die URL übergeben, platziert wird:

Wir können nicht nur Parameter verwenden, sondern auch Wörterbücher erstellen Python mit Daten aus einer Persistenzquelle wie a Datenbank oder ähnliches und auf diese Weise noch mehr Daten platzieren zu können.
Verschiedene VorlagenDas Interessante an dieser Angelegenheit ist, dass wir mit verschiedenen Vorlagen für verschiedene Teile unserer Anwendung spielen können, dies trennt die reine Präsentationsschicht von dem, was wir eigentlich programmieren, indem wir die HTML von der Mitte aus können wir uns in zwei Teams aufteilen und somit ohne Verwirrung ordentlich arbeiten.
Damit beenden wir dieses Tutorial, wir haben gelernt, die Vorlagen in Anwendungen zu verwenden, die mit erstellt wurden Flasche, diese Arbeitsweise erspart uns Aufwand und Wiederholungen von Code, insbesondere wenn wir uns auf die offizielle Dokumentation von . verlassen Jinja2 um das Beste aus der Template-Engine herauszuholen. Es ist sehr wichtig, eine Projektstruktur zu erstellen und die verschiedenen Dateitypen zu trennen, da wir auf diese Weise ein freundliches Projekt für den Rest unseres Entwicklungsteams beibehalten oder es in ein Code-Netzwerk hochladen möchten, wie z GitHub, um die geleistete Arbeit mit der Community zu teilen.
wave wave wave wave wave