Segmentieren Sie die Web-App-Struktur mithilfe von Flask Blueprint | Easy2Digital

Gehen Sie den Flask-Entwurf für Anfänger durch und lernen Sie, wie Sie bereits in einem sehr frühen Stadium der Web-App- oder DApp-Entwicklung strukturieren

In den meisten Fällen müssen wir dieselben Strukturen, Inhalte oder Daten mit nur unterschiedlichen Sprach- und Lokalisierungseinstellungen anwenden. Die bekannten Beispiele sind Unterordner, Lokalisierung.

Um es effizient zu machen, würde ich den Flask-Entwurf für Anfänger durchgehen und Sie können lernen, wie Sie bereits in einem sehr frühen Stadium der Web-App- oder DApp-Entwicklung strukturieren, was die gesamte Arbeit anschließend rationalisiert.

Inhaltsverzeichnis: Web-App-Struktur mithilfe von Flask Blueprint segmentieren

Was ist Flask Blueprint?

Flask Blueprint ist eine vom Flask-Webframework bereitgestellte Funktion, mit der Sie Ihre Flask-Anwendung in wiederverwendbare Komponenten oder Module organisieren können. Es hilft Ihnen, modulare und skalierbare Anwendungen zu erstellen, indem es eine Möglichkeit bietet, verwandte Ansichten, Vorlagen, statische Dateien und andere Anwendungskomponenten zu definieren und zu gruppieren.

Ein Flask Blueprint fungiert als Blaupause oder Vorlage zum Definieren einer Reihe von Routen und zugehörigen Funktionen. Es bietet eine Möglichkeit, verschiedene Teile Ihrer Anwendung, wie Routen, Vorlagen, statische Dateien und Fehlerhandler, in logischen Einheiten zu organisieren.

Durch die Verwendung von Flask Blueprints können Sie Ihre Anwendung in kleinere, besser verwaltbare Komponenten aufteilen. Jeder Blueprint kann seinen eigenen Satz von Routen und zugehörigen Funktionen haben. Diese Blueprints können dann bei der Flask-Anwendung registriert werden, um sie zugänglich zu machen.

Zu den Vorteilen der Verwendung von Flask Blueprint gehören:

  1. Modulare Organisation: Mithilfe von Blueprints können Sie Ihre Anwendung in kleinere, wiederverwendbare Module unterteilen und so die Verwaltung und Wartung vereinfachen.
  2. Kollaborative Entwicklung: Mehrere Entwickler können gleichzeitig an verschiedenen Blueprints arbeiten, was eine bessere Zusammenarbeit und Trennung von Anliegen ermöglicht
  3. URL-Präfix: Blueprints kann ein URL-Präfix zugewiesen werden, was die Definition von Routen mit einer gemeinsamen Basis-URL erleichtert.
  4. Vererbung von Vorlagen und statischen Dateien: Blueprints können eigene Vorlagen und statische Dateien definieren, die von der Hauptanwendung oder anderen Blueprints geerbt werden können.
  5. Fehlerbehandlung: Blueprints können ihre eigenen Fehlerhandler definieren und so eine benutzerdefinierte Fehlerbehandlung innerhalb bestimmter Teile der Anwendung ermöglichen.

Ebenen- und Ordnerstruktur

Im Vergleich zur Blueprint-Struktur erfordert die normale Praxis grundsätzlich, dass Entwickler drei unverzichtbare Dokumente im Stammverzeichnis hinzufügen, nämlich app.py, ein HTML-Skript im Vorlagenordner und den Rest der Materialien, CSS oder JS in der Statik. Zwei Ordner und app,py befinden sich im Stammordner.

Stellen Sie umgekehrt bei der Verwendung von Blueprint sicher, dass keine Präfix-Layer- oder Unterordner-Skripte im Stammordner abgelegt werden können. Behalten Sie app.py nur mit der Funktion create_app() bei, damit der Flask-Server das Aktivierungsskript korrekt erkennen kann.

Für jeden Blueprint sind die drei oben genannten unverzichtbaren Elemente erforderlich (statischer Ordner, Vorlagenordner und das Verzweigungsskript).

Zweig-Blueprint-Konfiguration

Sobald die Ordner und Pfade fertig sind, können wir mit der Konfiguration des Blueprints beginnen. Auf der Zweigseite müssen wir Flask und Blueprint importieren, um ein Objekt mit optionalen Modulen und Informationen zu erstellen. Hier ist das Beispiel wie folgt:

From flask import Blueprint

JPSiteScript = Blueprint ( 'japaneseSite' , __name__ , template_folder = "templates" , static_folder = 'static/assets' , static_url_path = '/static/assets' )

Anschließend können wir die Routen wie folgt mit der japanischen Site statt mit der App ohne Blueprint einrichten

# Define routes and functions

@japaneseSite.route('/login')

def login():

return 'Login page'

Haupt-App-Konfiguration

In der Haupt-App.py müssen wir Flask auch mitteilen, wie viele Blueprints wir haben und was diese sind. Hier finden Sie eine Möglichkeit, jeden Blueprint zu registrieren

From abc import JPSiteScript

app.register_blueprint(JPSiteScript, url_prefix='/jp')

Ich möchte hier insbesondere auf das URL-Präfix näher eingehen, da es sich dabei um eine Methode zum Einrichten einer Website-Struktur für mehrere Länder handelt. Wir müssen nicht jeden Blueprint einzeln einrichten. URL-Präfix bedeutet, dass alle Routen von diesem bestimmten Blueprint /jp als Unterordner im URL-Pfad verwenden würden. Super praktisch.

Python-Skriptbeispiel einer Web-App-Struktur mit Flask Blueprint (einschließlich Datenbankintegration, Benutzerauthentifizierungsintegration mit Blueprint)

Wenn Sie sich für Kapitel 82 – Segmentierung der Web-App-Struktur mithilfe von Flask Blueprint interessieren, Bitte abonnieren Sie unseren Newsletter , indem Sie die Nachricht „Kapitel 82+ Vollständige Skripte der Flask Blueprint-Einstellungen“ hinzufügen . Wir senden Ihnen das Skript zu, sobald das aktuelle App-Skript live ist.

Ich wünsche Ihnen viel Spaß beim Lesen von Kapitel 82 – Segmentieren Sie die Web-App-Struktur mithilfe von Flask Blueprint. Wenn ja, unterstützen Sie uns bitte, indem Sie eine der unten aufgeführten Maßnahmen ergreifen, da dies unserem Kanal immer weiterhilft.

  • Unterstützen Sie unseren Kanal und spenden Sie über PayPal ( paypal.me/Easy2digital )
  • Abonnieren Sie meinen Kanal und aktivieren Sie die Benachrichtigungsglocke des Easy2Digital-Youtube-Kanals .
  • Folgen und liken Sie meine Easy2Digital-Facebook-Seite
  • Teilen Sie den Artikel in Ihrem sozialen Netzwerk mit dem Hashtag #easy2digital
  • Sie melden sich für unseren wöchentlichen Newsletter an, um die neuesten Artikel, Videos und Rabattcodes von Easy2Digital zu erhalten
  • Abonnieren Sie unsere monatliche Mitgliedschaft über Patreon, um exklusive Vorteile zu genießen ( www.patreon.com/louisludigital )