Flasche

Erstellen Sie eine Hello World-App mit dem Flask Framework

Erstellen Sie eine Hello World-App mit dem Flask Framework
Dieser Artikel behandelt eine Anleitung zum Schreiben einer einfachen Hello-World-Anwendung mit dem Python-basierten „Flask“-Framework. Flask kann verwendet werden, um minimale, erweiterbare und erweiterte Webanwendungen mithilfe einer Reihe von Bibliotheken zu erstellen, die in seinem Modul enthalten sind. Alle Codebeispiele in diesem Tutorial werden auf Ubuntu 20 getestet.10 mit Python-Version 3.8.6 und Kolbenversion 1.1.2.

Über Flask

Flask ist ein Python-basiertes Framework für die Entwicklung von Webanwendungen, das speziell für den Einstieg auf ein Minimum ausgelegt ist. Dies hilft bei Rapid Prototyping, schneller Entwicklung und schneller Bereitstellung quick. Alle erweiterten Funktionen, die Sie zu Ihrer Webanwendung hinzufügen müssen, können über Erweiterungen hinzugefügt werden. Die offizielle Seite von Flask bezeichnet sich selbst als „Mikro“-Framework, da sie alle wichtigen Entscheidungen den Benutzern selbst überlässt und wenig in ihrem Namen entscheidet. Benutzer können ihre eigenen Vorlagen-Engines, Datenbankverwaltungsbibliotheken, Formularvalidierungstools usw. auswählen, obwohl Flask einige vernünftige Standardeinstellungen enthält.

Flask unter Linux installieren

Wenn Sie Ubuntu verwenden, können Sie Flask installieren, indem Sie den unten genannten Befehl ausführen:

$ sudo apt install python3-flask

Sie können die Verwendung der Repository-Version vermeiden und die neueste Version von Flask über den Paketmanager „pip“ installieren, indem Sie die folgenden zwei Befehle nacheinander ausführen:

$ sudo apt install python3-pip
$ pip3 Flasche installieren

Wenn Sie eine andere Linux-Distribution verwenden, suchen Sie im Paketmanager nach „Flask“-Paketen oder installieren Sie es über das Paketinstallationstool „pip“. Weitere detaillierte Anleitungen finden Sie hier.

Sobald die Installation abgeschlossen ist, können Sie die Flask-Version mit dem unten angegebenen Befehl überprüfen:

$ python3 -c "Flasche importieren; print(Flasche).__Ausführung__)"

Das Client-Server-Modell

Wie bereits erwähnt, wird Flask zur Entwicklung von Webanwendungen verwendet. Normalerweise verwenden alle Frameworks für die Entwicklung von Webanwendungen in Python und anderen Programmiersprachen eine Client-Server-Architektur. Flask verwendet auch ein Client-Server-Modell, bei dem Benutzer serverseitige Logik schreiben können, um Webanwendungen oder Websites zu erstellen. Der „Client“ bezieht sich hier auf einen Webbrowser oder jede andere App, die das Rendern von Webseiten mit HTML-, JavaScript- und CSS-Technologien ermöglicht allows. Während sich der "Server" auf einen lokalen oder Remote-Server bezieht, auf dem Ihre in Python-Sprache geschriebene Flask-App ausgeführt wird.

Wenn Sie eine Flask-App lokal auf Ihrem PC ausführen, wird automatisch ein lokaler Server erstellt, um die Webanwendung bereitzustellen. Flask gibt eine localhost-URL in Ihrem Terminal aus. Sie können diese URL in jedem Webbrowser aufrufen, um das Endergebnis anzuzeigen. Sie können auch einen Remote-Server einrichten, um die Kommunikation zwischen einem Client und einem Server zu erleichtern und Ihre eigene öffentliche Website oder Webanwendung zu starten.

Sie können clientseitigen HTML-, JavaScript- und CSS-Code erstellen, der für Ihre Webanwendung benötigt wird, indem Sie serverseitigen Code verwenden, der in Flask und Python geschrieben wurde. Aber sobald die Webanwendung bereitgestellt ist und Sie sie in einem Webbrowser ausführen, kann Ihre Webanwendung keinen Python-Code sehen oder verstehen. Es verarbeitet nur HTML, JavaScript und CSS, da nur diese Technologien hauptsächlich von Webbrowsern unterstützt werden. Sie können weiterhin mit dem Server von der Clientseite aus über HTTP-Anfragen kommunizieren. Sie können sehr viele Daten vom Client an den Server übergeben, sie mit einer serverseitigen Logik verarbeiten und das Ergebnis zurückgeben.

Abhängig von der Art der Webanwendung, die Sie entwickeln, müssen Sie möglicherweise entscheiden, wo die Logik implementiert werden soll: auf Server- oder Client-Seite von Fall zu Fall.

Einfache Hello World-Anwendung in Flask

Sie können das folgende Codebeispiel verwenden, um eine einfache „Hello World“-Anwendung in Flask zu erstellen, um loszulegen:

aus Flaschenimport Flasche
app = Flasche(__name__)
@app.Route('/')
def hello_world_app():
Nachricht = "Hallo Welt!!"
Rücknachricht

Die erste Anweisung im obigen Codebeispiel importiert die Klasse „Flask“ aus dem Modul „flask“. Nach dem Import können Sie alle in der Klasse „Flasche“ verfügbaren Methoden verwenden.

In der nächsten Anweisung wird eine neue Instanz der Klasse „Flask“ erstellt und ihr der Name der Datei als Argument übergeben. Wenn Sie nur ein einzelnes „.py“-Datei ohne zusätzliches „__init__“.py“-Datei, die normalerweise beim Erstellen einer Dateistruktur für ein Python-Paket verwendet wird, hat der Name den hartcodierten Wert „__main__“. Das Argument „__name__“ teilt Flask mit, wo nach Dateien gesucht werden soll, die sich auf die aktuell ausgeführte Flask-Anwendung beziehen. Sie können auch Ihren eigenen benutzerdefinierten Pfad zu Ihrer Flask-Hauptdatei angeben, anstatt ein "__name__"-Argument anzugeben. Aber normalerweise verwenden die meisten Entwickler nur „__name__“ und dies scheint gängige Praxis zu sein.

Als nächstes eine „Dekoration“ „App.route“ ist an die Funktion „hello_world_app“ angehängt. Dekorationsfunktionen erweitern oder modifizieren die Funktion, mit der sie verbunden sind, ohne sie tatsächlich zu ändern. Hier „App.route“-Dekorator wird verwendet, um den URL-Pfad anzugeben, in dem die angehängte Funktion ausgeführt wird. Das „/“-Symbol weist Flask an, eine Funktion auf der „/“-URL auszuführen, die für „root“-Domain oder „root“-URL steht. Wenn die URL für Ihre App beispielsweise „app.com“ wird die Funktion für „app.com“ URL. Sie können es auch in etwas anderes ändern. Zum Beispiel durch die Verwendung eines Dekorateurs „@app.route('/helloworld')“, können Sie die Funktion „app.com/helloworld” URL.

Schließlich wird die Funktion „hello_world_app“ verwendet, um den Inhalt zurückzugeben, den Sie in einem Webbrowser anzeigen möchten, wenn Ihre Webanwendung ausgeführt wird.

Ausführen einer Flask-App

Um eine Flask-App unter Linux auszuführen, müssen Sie einen Befehl im folgenden Format ausführen:

$ export FLASK_APP=main.py
$ Kolbenlauf

„Haupt“ ändern.py“ nach Bedarf, um ihn mit Ihrem eigenen abzugleichen .”py”-Datei, in die Sie Ihren Flask-Code geschrieben haben. Der zweite Befehl führt Ihre Flask-App aus. Sie können auch diesen alternativen Befehl ausführen:

$ FLASK_APP=main.py kolben laufen

Nachdem Sie diese Befehle ausgeführt haben, sollten Sie eine Ausgabe wie diese sehen:

Öffnen Sie einfach die im Terminal angegebene URL in einem Webbrowser, um Ihre Anwendung in Aktion zu sehen.

Sie können die Flask-App im Debug-Modus ausführen, indem Sie die Umgebungsvariable „FLASK_ENV“ im folgenden Format verwenden:

$ FLASK_ENV=Entwicklung FLASK_APP=main.py kolben laufen

Verwenden der Jinja2-Vorlagen-Engine

Flask verwendet „Jinja2“ für die Template-Engine, um das Schreiben von HTML-Code in Python zu erleichtern. Sie können es verwenden, um ein Markup für "Hello World" festzulegen!!" Botschaft.

Erstellen Sie ein neues Verzeichnis namens „templates“, in dem sich Ihr Flask-Hauptskript befindet. Erstellen Sie im Verzeichnis „template“ eine neue Datei namens „hw_template“.html“. Öffnen Sie die „hw_template“.html“-Datei und fügen Sie folgenden Code ein:


Hallo Welt!!
% wenn Farbe %

Hallo Welt!!


% sonst %

Hallo Welt!!


% endif %

Dieser Code ist in einer Syntax geschrieben, die „Jinja2“ versteht. Sie können auf die Dokumentation zu „Jinja2“ verweisen, die hier verfügbar ist. Das Template-Markup prüft, ob ihm eine Variable namens „color“ übergeben wurde oder nicht. Wenn ja, dann ändert es die Farbe von "Hello World"!!”-Nachricht mit dem Wert der an sie übergebenen Variable „color“.

Um eine Variable an die Vorlage „Jinja2“ zu übergeben, müssen Sie Code im folgenden Format schreiben:

@app.Route('/')
def hello_world_app():
return render_template('hw_template.html', color="rot")

Die Methode „render_template“ wird verwendet, um Markup aus einer „Jinja2“-Vorlagendatei zu rendern. Sie können den Namen der Vorlage angeben, die Sie rendern möchten, und alle Argumente, die Sie an die Vorlage weitergeben möchten. Das „hw_template“.html“-Vorlage, die oben verwendet wurde, verarbeitet eine „Farbe“-Variable, nachdem der Flask-Code eine „Farbe“-Variable mit einem Wert von „Rot“ übergeben hat. Nachdem Sie das oben erwähnte Codebeispiel ausgeführt haben, sollten Sie das folgende Ergebnis erhalten:

Sie können auch Variablenwerte von einer URL selbst weitergeben. Sehen Sie sich das folgende Codebeispiel an:

@app.Route('/')
@app.Route('/')
def hello_world_app(color="blue"):
return render_template('hw_template.html', Farbe=Farbe)

An die Funktion „hello_world_app“ sind zwei URL-Pfade oder -Routen angehängt. Beim Besuch der Root-Domain (Beispiel „app.com“), sehen Sie die „Hallo Welt!!” Nachricht in blauer Farbe als Standardwert für die Variable „Farbe“ ist als „blau“ definiert und dies ist der Wert, den Sie auch an die Vorlage „Jinja2“ übergeben.

Der zweite durch „@app “ definierte Pfad.Route('/')“ verwendet eine spezielle Syntax. Innerhalb von „<>“-Symbolen können Sie beliebige Variablen definieren, die an die Funktion „hello_world_app“ übergeben werden. Der Standardwert für diese Variable ist als Argument für die Funktion „hello_word_app“ definiert. Anschließend übergeben Sie Ihre eigene benutzerdefinierte Variable als Argument an die Methode „render_template“ und setzen deren Wert auf die Variable, die Sie beim Dekorieren der Funktion mit einer neuen benutzerdefinierten Route definiert haben.

Zum Beispiel „Hallo Welt !!“-Nachricht wird rot, wenn Sie “App . besuchen.com/red“ URL, aber sie bleibt blau, wenn Sie „app“ besuchen.com“ URL. Hier ein direkter Vergleich:

Fazit

Flask ist ein leistungsstarkes Framework für die Entwicklung von Webanwendungen, mit dem sowohl einfache als auch erweiterte Anwendungen erstellt werden können. Dieses Tutorial erklärt hauptsächlich das Erstellen einer einfachen "Hello World"!!”-App. Sie können es mit einer Datenbank verbinden und Erweiterungen verwenden, um seine Funktionalität weiter zu erweitern. Weitere Informationen zum Verwalten von Datenbanken und Erweiterungen finden Sie in der Flask-Dokumentation.

Beste Linux-Distributionen für Gaming im Jahr 2021
Das Linux-Betriebssystem hat sich weit von seinem ursprünglichen, einfachen, serverbasierten Aussehen entfernt. Dieses Betriebssystem hat sich in den ...
So erfassen und streamen Sie Ihre Gaming-Sitzung unter Linux
In der Vergangenheit galt das Spielen von Spielen nur als Hobby, aber mit der Zeit verzeichnete die Spieleindustrie ein enormes Wachstum in Bezug auf ...
Beste Spiele zum Spielen mit Handtracking
Oculus Quest hat kürzlich die großartige Idee des Hand-Trackings ohne Controller vorgestellt. Mit einer ständig steigenden Anzahl von Spielen und Akti...