Flask-Grundlagen

Abgeschlossen

Flask ist ein als „Mikroframework“ bezeichnetes Open-Source-Webframework. Durch die Verwendung der Bezeichnung „Mikroframework“ möchten die Entwickler hervorheben, dass das Framework die Aufgaben eines Webframeworks erfüllt, aber keine erweiterten Features enthalten sind oder spezielle Anforderungen bestehen, die Ihre Anwendung erfüllen muss, um ordnungsgemäß zu funktionieren. Dank dieses Ansatzes ist Flask äußerst flexibel und damit ideal als Front-End für bestehende Back-Ends oder APIs wie Azure KI Services geeignet!

Wenn eine Webanwendung mit einem beliebigen Framework erstellt wird, gelten einige Kernkonzepte, die Sie verinnerlichen sollten: Routing, Methoden und Vorlagenerstellung. Bevor Sie den Code schreiben, befassen Sie sich etwas genauer mit diesen Konzepten.

Reagieren auf Benutzeranforderungen mit Routen

Wenn Benutzer Webanwendungen verwenden, geben sie an, was sie tun möchten oder nach welchen Informationen sie suchen, indem verschiedene URLs aufgerufen werden. Möglicherweise geben Benutzer eine Adresse auch direkt ein, z. B. https://adventure-works.com, oder klicken auf einen Link oder eine Schaltfläche, die zur entsprechenden URL führt. Auf einer E-Commerce-Website sehen URLs möglicherweise folgendermaßen aus:

  • https://adventure-works.com/ für die Hauptseite
  • https://adventure-works.com/products/widget für Details auf einem Widget
  • https://adventure-works.com/cart/buy zum Abschließen eines Kaufs

Als Entwickler müssen Sie sich um den ersten Teil einer URL – die Domäne (adventure-works.com im vorliegenden Beispiel) – tatsächlich nicht kümmern. Aktionen für die Anwendung werden dadurch bestimmt, was nach dem Domänennamen folgt – beginnend mit /. Der Teil nach dem Domänennamen wird als Route bezeichnet.

Eine Route ist ein Pfad zu einer Aktion. Eine Route gibt die Aktion an, die ein Benutzer durchführen möchte – ähnlich wie beim Tippen auf eine Schaltfläche in einer mobilen App. In dieser Webanwendung sollen verschiedene Routen registriert werden, um auf verschiedene Anforderungen reagieren zu können, die von der Anwendung unterstützt werden.

In der vorliegenden Anwendung wird angegeben, wie auf eine bestimmte Routenanforderung reagiert werden soll, indem eine Funktion bereitgestellt wird. Eine Route ist eine Zuordnung zu einer Funktion. Dieses Konzept ist beim Programmieren im Allgemeinen relativ normal. Wenn Programmierer eine bestimmte Aktion ausführen möchten, wird das als Funktion bezeichnet. Bei unseren Benutzern ist das genau das gleiche. Die Vorgehensweise ist nur eine andere, denn sie greifen auf eine Route zu.

Methoden bzw. Verben

Es gibt viele Möglichkeiten, auf Routen zuzugreifen – zum Beispiel über Methoden bzw. Verben (diese beiden Begriffe sind in diesem Kontext synonym). Die Art des Routenzugriffs liefert weiteren Kontext zum Status der Benutzeranforderungen und der Aktion, die der Benutzer ausführen möchte.

Beim Entwickeln einer Webanwendung sind viele Methoden verfügbar. Die beiden gängigsten sind jedoch GET und POST. Diese stehen auch hier im Vordergrund. GET bedeutet üblicherweise, dass der Benutzer Informationen anfordert, während POST bedeutet, dass der Benutzer eine Anforderung sendet und eine Antwort erhält.

Hinweis

Unabhängig vom verwendeten Verb können Informationen immer an den Benutzer zurückgegeben werden.

Ein gängiger Anwendungsablauf besteht darin, GET und POST in einem Formular zu verwenden. Nehmen Sie an, dass Sie eine Anwendung entwickeln, über die Benutzer sich in eine Adressenliste eintragen können:

  1. Der Benutzer greift über GET auf das Registrierungsformular zu.
  2. Der Benutzer füllt das Formular auf und wählt „Senden“ aus.
  3. Die Informationen aus dem Formular werden über POST zurück an den Server gesendet.
  4. Dem Benutzer wird angezeigt, dass der Vorgang erfolgreich war.

Der Benutzer verwendet diese Verben natürlich nicht direkt, denn die Verben werden von der Anwendung gesteuert. Wenn der Benutzer also direkt zu einer URL navigiert, indem diese eingegeben oder auf einen Link geklickt wird, wird über GET auf diese Seite zugegriffen. Wenn eine Schaltfläche in einem Formular ausgewählt wird, werden die Informationen in der Regel über POST gesendet.

Hinweis

Diese Erläuterungen sind relativ allgemein, da eine vollständige Ausführung den Umfang dieses Moduls überschreiten würde.

Vorlagen

Hypertext Markup Language (HTML) ist die Sprache, mit der in einem Browser angezeigte Informationen strukturiert werden. Cascading Style Sheets (CSS) wird verwendet, um das Format und das Layout anzupassen. Wenn Sie Anwendungen schreiben, ist der HTML-Code überwiegend statisch – er ändert sich also nicht. Wenn Sie Seiten dynamisch gestalten möchten, müssen Sie programmgesteuert Informationen zu einer HTML-Seite hinzufügen. Fast jedes Webframework unterstützt diese Vorgehensweise durch Vorlagen.

Mithilfe einer Vorlage können Sie den HTML-Hauptcode (oder eine Vorlage) schreiben und Platzhalter für dynamische Informationen einfügen. Die wahrscheinlich gängigste Syntax für Platzhalter ist {{ }}. Jinja, die Vorlagen-Engine für Flask, verwendet diese Syntax.

<h1>Welcome, {{ name }}</h1>

Im vorherigen Beispiel sehen Sie den HTML-Code für h1 (einen Header) mit dem Text, der angezeigt werden soll. Der Platzhalter {{ name }} gibt an, dass direkt nach Willkommen eine Variable namens name angezeigt werden soll. Mithilfe dieser Syntax können Sie HTML-Code schreiben und bei Bedarf dynamische Informationen hinzufügen.

Überprüfen Sie Ihr Wissen

1.

Flask ist ein Framework für das Erstellen von Web-Apps in welchen der folgenden Sprachen?