Heim >Backend-Entwicklung >Python-Tutorial >Erste Schritte mit Flask, einem Python -Mikroframework
In diesem Artikel wird Flask vorgestellt, ein beliebtes Python Mini -Framework, das eine Alternative zum riesigen Django -Framework bietet.
Die Designphilosophie vonFlask ist leicht und flexibel, sodass Entwickler schnell und einfach Webanwendungen erstellen können. In diesem Artikel wird abdecken, was Flask ist, seine wichtigsten Merkmale, die Vorteile einer einfachen API, seine Flexibilität bei der Unterstützung von Erweiterungen von Drittanbietern, die am häufigsten verwendeten Kolbenverlängerungen und wann der Flask verwendet werden sollte oder nicht.
Schlüsselpunkte
Was ist Flask?
Flask ist ein in Python geschriebener Miniatur -Web -Framework für die Entwicklung von Webanwendungen. Es basiert auf einem einfachen Konzept: Halten Sie es einfach und leicht, und bieten Sie Entwicklern die wichtigsten Tools, die sie benötigen, um Webanwendungen ohne unnötige Komplexität zu erstellen.
Es basiert auf dem Werkzugi -Toolkit, das die Webserverfunktionalität bietet, die für die Bearbeitung von Anforderungen und Antworten sowie die Jinja2 -Vorlage -Engine erforderlich ist, mit der Flask HTML -Vorlagen verarbeiten können, wodurch Entwickler dynamische Webanwendungen erstellen können.
Hier sind einige wichtige Funktionen, die Flask zu einem großartigen Framework machen:
Vorteile von Flask
Lassen Sie uns nun einige der Vorteile der Verwendung von Flask in der Entwicklung genauer betrachten.Einfachheit. Die Designphilosophie von Flask betont die Einfachheit, was es Entwicklern jeder Ebene leicht macht, sie zu verstehen und zu verwenden. Dies bedeutet auch, dass Entwickler eine sehr niedrige Lernkurve haben, da sie nur einige Konzepte und APIs lernen müssen, um Webanwendungen zu erstellen.
Flexibilität. Die Miniaturfunktionen von Flask-nur die Kernfunktionalität des Web-Frameworks-für Entwickler, um sie mit Flask-Erweiterungen oder Bibliotheken von Drittanbietern anzupassen und zu erweitern, um ihre Anforderungen zu erfüllen.
Dokument. Die Flask -Dokumentation ist sehr umfassend und deckt Inhalte von Basic bis fortschrittliche Themen ab und erleichtert den Entwicklern, wie man das Framework verwendet.
Kompatibilität. Flask ist mit verschiedenen Python -Versionen kompatibel, wodurch es mit vorhandenen Python -Code -Basen einfach verwendet wird. Es unterstützt auch mehrere Webserver, was es einfach macht, auf einer Vielzahl von Hosting -Plattformen bereitzustellen.
schnelle Entwicklung. Die Einfachheit und Flexibilität von Flask reduziert den für die Einrichtung Ihrer Anwendung erforderlichen Boilerplate -Code, sodass Entwickler schnell beginnen können.
Flask wird auf viele interessante Arten im Web verwendet. Einige bemerkenswerte Beispiele sind:
Wann verwendet Flask
Flasks Einfachheit und Benutzerfreundlichkeit machen es zu einer ausgezeichneten Wahl für eine Vielzahl von Webprojekten:
Wenn Sie keinen Kolben verwenden
Während Flask ein großartiger Rahmen ist und viele Vorteile und leistungsstarke Merkmale hat, können diese Funktionen in einigen Fällen nachteilig sein. Lassen Sie uns einige Projekte untersuchen, die für andere Arten von Frameworks besser geeignet sind.
Projekte, die integrierte Funktionen erfordern. Als Mini -Framework bietet Flask nur die Kernteile, die zum Erstellen von Webanwendungen erforderlich sind. Wenn ein Projekt beispielsweise eine administrative Schnittstelle, Authentifizierung oder ORM erfordert, ist Django eine bessere Wahl.
Projekte mit strengen Sicherheitsanforderungen. Da Flask ein flexibler Rahmen ist, müssen wir uns auf Erweiterungen von Drittanbietern verlassen, um in unseren Anwendungen ein gewisses Sicherheitsniveau zu erreichen. Während dies sicherlich funktioniert, ist es am besten, sich auf einen getesteten Rahmen zu verlassen, der einen sichereren Ansatz wie Tornado oder Twisted verfolgt.
Projekte, die bestimmte Codierungsstandards durchsetzen. Durch die Entwicklung von Anwendungen auf der Flexibilität von Flask ermöglicht es Entwicklern, Anwendungen so zu erstellen, wie sie angepasst werden. Rahmenbedingungen wie Django stellen jedoch sicher, dass Entwickler bestimmte Konventionen befolgen, was bedeutet, dass Entwickler problemlos von einem Projekt zu einem anderen wechseln können.
Umgebung der Kolbenentwicklung
einrichten
Voraussetzungen
Erstellen Sie eine virtuelle Umgebung
Die virtuelle Umgebung ist eine isolierte Python -Umgebung, in der wir Pakete für ein bestimmtes Projekt installieren können, ohne die globale Python -Installation zu beeinflussen. (Das Folgende ist eine weitere Diskussion darüber, warum eine virtuelle Umgebung nützlich ist.) Es gibt verschiedene Pakete, die in Python virtuelle Umgebungen erstellen können, wie Virtualenv, Venv oder Conda.
<code>pip install virtualenv</code>In diesem Artikel werden wir Virtualenv verwenden. Wir können es mit dem folgenden Befehl installieren:
<code>mkdir flask_intro</code>Nach der Installation von VirtualenV können wir ein Verzeichnis erstellen, in dem sich unsere Flask -Anwendung befindet. Wir können das Verzeichnis so nennen, wie wir möchten - außer Flask, da dies zu Konflikten führt. Wir werden es Flask_Intro nennen:
<code>cd flask_intro</code>Gehen Sie als nächstes in dieses Verzeichnis, damit wir es verwenden können:
<code>virtualenv myenv</code>Erstellen wir in diesem Verzeichnis nun unsere virtuelle Umgebung mit dem folgenden Befehl:
<code>. myenv/bin/activate</code>Der obige Befehl erstellt eine virtuelle Umgebung und nennt sie myEnv. Lassen Sie es uns aktivieren, damit wir einen Kolben darin installieren können. Verwenden Sie den folgenden Befehl, um eine virtuelle Umgebung unter Linux oder MacOS zu aktivieren:
<code>. myenv\Scripts\activate</code>unter Windows verwenden Sie diesen Befehl:
<code>(myenv)/~(path to your project directory)$</code>Sobald unsere virtuelle Umgebung aktiviert ist, wird der Name der virtuellen Umgebung in der Shell -Eingabeaufforderung angezeigt, ähnlich der folgenden Ausgabe:
<code>pip install Flask</code>In der aktivierten virtuellen Umgebung können wir den Flask weiterhin mit dem folgenden Befehl installieren:
<code>touch hello.py</code>Wenn der Kolben installiert ist, lassen Sie uns eine minimale Anwendung erstellen. Wir erstellen ein Modul, um unsere Flask -Anwendung zu speichern. Der Einfachheit halber nennen wir es Hello.py. Unter Linux oder MacOS können wir diese Datei mit dem folgenden Befehl in unserem Flask_Intro -Verzeichnis erstellen:
<code># hello.py from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello, World!'</code>Der obige Befehl erstellt eine Datei namens Hello.py. Wir können auch die Entwicklungsumgebung verwenden, um diese Datei zu erstellen. Geben Sie nach dem Erstellen der Datei den folgenden Code ein und speichern Sie:
Im obigen Code importieren wir die Flask -Klasse aus dem Flask -Modul, erstellen dann eine Flaskinstanz mit dem Namen App und übergeben die __name__ -Variable.
Dann haben wir den Route Decorator @App.Route ("/"), was bedeutet, dass die Funktion hello_world () abgefeuert wird, nachdem jemand auf die Stammroute der Anwendung zugegriffen hat.
<code>flask –app <the module="" name="" of="" your=""> run</the></code>Wir können die Anwendung auf verschiedene Arten ausführen. Schauen wir uns also einige an. Die erste Methode besteht darin, mehrere Parameter für den Befehl Flask bereitzustellen: --app, dann den Namen des Moduls, das unsere Flask Anwendung anbietet, speichern und dann ausgeführt werden. Siehe unten:
Führen Sie unsere Beispielanwendung mit dem obigen Beispiel aus:
<code>pip install virtualenv</code>
Aus diesem Grund wird unsere Anwendung auf Standardport 5000 ausgeführt, sodass die Anwendung unter http: // localhost: 5000/oder http://127.0.0.1:5000/ verfügbar ist. Wenn wir möchten, dass die Anwendung für andere Ports verfügbar ist, können wir den Port mit der Option -P oder -Port angeben. Zum Beispiel:
<code>mkdir flask_intro</code>
Dadurch wird der Server auf Port 8080 ausgeführt. Eine andere Möglichkeit, die Anwendung auszuführen, besteht darin, nur den Befehl Flask Run zu verwenden. Um dies zu tun, müssen wir Flask den Namen des Moduls mitteilen, das die Flaskinstanz enthält, die wir durch Einstellen der Flask_App -Umgebungsvariable tun. In unserem Fall ist die Flask -Anwendung in einer Datei namens Hello.py enthalten. So können wir es so einstellen:
<code>cd flask_intro</code>
Jetzt, da wir die Umgebungsvariable von Flask_App festgelegt haben, können wir den Entwicklungsserver wie folgt ausführen:
<code>virtualenv myenv</code>
Mit diesem Code führen wir jetzt eine Webanwendung aus. Dies zeigt die Kernphilosophie von Flask: Wir brauchen nicht viel Boilerplate -Code, damit die Dinge reibungslos verlaufen. Die oben eingerichtete Anwendung ist jedoch nicht sehr praktisch oder nützlich, da sie auf unserer Webseite nur die Zeichenfolge "Hello World! Um etwas Nützlicheres zu tun, können wir uns den Vorlagen wenden. Als nächstes werden wir sehen, wie man mit ihnen umgeht.
Flask Vorlage
Flask Vorlage ist eine Möglichkeit, dynamische Webseiten zu erstellen, auf denen unterschiedliche Inhalte basierend auf verschiedenen Faktoren angezeigt werden können, z. B. Daten aus einer Datenbank oder Benutzereingabe. Vorlagen im Kolben sind eine Kombination aus HTML- und Spezialplatzbesitzern (als Vorlagenvariablen genannte Variablen), die zur Laufzeit durch die tatsächlichen Werte ersetzt werden.
Vorlage wird im Vorlagenverzeichnis gespeichert. Um Vorlagen zu verwenden, müssen wir daher die Methode render_template () aus dem Kolben importieren. Die Methode render_template () akzeptiert den Vorlagennamen und alle optionalen Daten, die an die Vorlage übergeben werden müssen.
Schauen wir uns eine Beispielfunktion an, die Vorlagen zum Rendern von Webseiten verwendet:
<code>. myenv/bin/activate</code>
Im obigen Beispiel haben wir eine Ansichtsfunktion - index () -, die über den Dekorator @App.Route () an die Root -URL ("/") gebunden ist. Die Funktion hat zwei Variablen, Titel und Nachricht. Schließlich übergeben wir den Template Index.html an render_template () sowie die Titel- und Nachrichtenvariablen.
Um den obigen Code zu funktionieren, müssen wir eine Index.html -Vorlage im Vorlagenverzeichnis haben. Daher sieht die Vorlage so aus:
<code>. myenv\Scripts\activate</code>
In der Datei index.html werden die Platzhalter {{title}} und {{message}} durch Werte ersetzt, die in der Methode render_template () an die Vorlage übergeben wurden.
Vorlagen können auch komplexere Logik enthalten, z. B. wenn Anweisungen und für Schleifen, die es ermöglichen, mehr dynamische Seiten zu generieren.
Daher bieten Vorlagen im Flask Entwicklern eine sehr leistungsstarke Option, um dynamische Webseiten voller von Benutzer erstellter Informationen zu erstellen.
Flask Routing
Die meisten Webanwendungen haben mehrere URLs. Daher müssen wir eine Möglichkeit haben, zu wissen, welche Funktion mit welcher URL verhandelt werden. In Flask wird diese Zuordnung als Routing bezeichnet - der Prozess der Bindung oder Zuordnung von URLs zum Anzeigen von Funktionen. Binden Sie URLs an die Anzeigefunktionen, ermöglicht der Anwendung verschiedene Arten von Anforderungen, z. B. Get, Post, Put, Löschen usw. Außerdem können die Anwendung mehrere Anfragen von verschiedenen Clients bearbeiten.
Um die Route im Kolben einzurichten, verwenden wir den Dekorateur Route (). Der Dekorateur bindet die URL an die Ansichtsfunktion. Wenn der Benutzer auf eine URL zugreift, die in der Anwendung vorhanden ist, löst der Kolben die zugehörige Ansichtsfunktion aus, um die Anforderung zu verarbeiten.
Nehmen wir ein Beispiel:
<code>pip install virtualenv</code>
Im obigen Beispiel definieren wir eine über URL (/um). Wenn die Bewerbung eine Anfrage für die About -URL empfängt, ruft Flask die Funktion "About () auf, die die Zeichenfolge" Dies ist die About Page "zurück.
bisher, obwohl diese Beispiele verschiedene Seiten zurückgeben, verwenden sie alle nur HTTP -Anforderungen. Um eine bestimmte Anforderung zu bearbeiten, können wir die HTTP -Methode als optionaler Parameter für den Dekorateur Route () angeben.
schauen wir uns ein Beispiel einer Put -Anfrage an:
<code>mkdir flask_intro</code>
In diesem Beispiel definieren wir eine Route, um Put -Anforderungen zu verarbeiten, um die Benutzerdetails angesichts der user_id zu aktualisieren. Wir verwenden
In der Funktion update_user () verwenden wir die Methode Request.get_json (), um Benutzerdaten aus der Anforderungsbehörde abzurufen. Wir führen bestimmte Aktionen für Benutzerdaten aus, z. B. die Aktualisierung von Benutzern in der Datenbank und die Rückgabe einer Antwort, die Erfolg oder Misserfolg und einen HTTP -Statuscode anzeigt (in diesem Fall 200, was auf Erfolg hinweist).
Im Allgemeinen ermöglicht Routing Flask, verschiedene Arten von Anforderungen zu verarbeiten und unsere Anwendungen auf unterschiedliche Weise zu verarbeiten und zu verarbeiten, basierend auf den vom Benutzer zugegriffenen URLs.
Flaskformen und Überprüfung
Zusätzlich zum Anzeigen von Daten für Benutzer kann die Flask -Vorlage auch Benutzereingaben für die weitere Verarbeitung oder den Speicher empfangen. Zu diesem Zweck bietet Flask integrierte Unterstützung für die Verarbeitung von HTML-Formularen und die Bearbeitung von Benutzereingaben. Flaskformulare basieren auf der WTForms -Bibliothek, die eine flexible und leistungsstarke Möglichkeit bietet, Formaten zu verarbeiten und Validierung durchzuführen. Die Bibliothek ist jedoch nicht Teil einer Standardkolbeninstallation, daher müssen wir sie mit dem folgenden Befehl installieren:
<code>cd flask_intro</code>
Nach der Installation von WTForms müssen wir eine Formklasse definieren, die von flask_wtf.flaskform erbt. Diese Klasse enthält Felder im Formular und alle Validierungsregeln, die auf sie angewendet werden sollten.
Schauen wir uns ein Beispiel eines Anmeldeformulars an:
<code>virtualenv myenv</code>
Im obigen Beispiel definieren wir ein Anmeldeformular mit zwei Feldern - E -Mail und Passwort - und einer Schaltfläche Senden. Wir haben auch einen Parameter für Validatoren, der Validierungsregeln für jedes Feld angibt. In diesem Fall müssen beispielsweise das E -Mail -Feld eine gültige E -Mail -Adresse enthält und das Feld Kennwort ein Kennwort von mindestens sechs Zeichen enthält.
Nach dem Definieren der Formularklasse können wir sie in der Funktion zur Anmeldeansicht verwenden, um das Formular zu rendern und die vom Benutzer übermittelten Formulardaten zu verarbeiten. Schauen wir uns ein Beispiel einer Ansichtsfunktion an:
<code>pip install virtualenv</code>
Im obigen Beispiel haben wir eine Anmeldeansicht, die zwei HTTP -Methoden akzeptiert (GET und Post). Wenn der Benutzer auf die URL aus dem Browser zugreift, wird LoginForm als HTML -Formular mithilfe der Render_Template -Methode, wenn der Benutzer Geben Sie das Formular ein, wenn wir die Methode validate_on_submit verwenden, um zu überprüfen, ob das Formular gültig ist. Wenn das Formular gültig ist, greifen wir auf die E -Mail und das Passwort zu.
login.html Formular kann so aussehen:
<code>mkdir flask_intro</code>
Die obige Vorlage rendert die E -Mail- und Passwortfelder und deren Beschriftungen sowie eine Schaltfläche Senden mit dem Text "Anmeldung". Das Feld des Formulars. Die { % für %} -Schleife wird verwendet, um alle auftretenden Validierungsfehler anzuzeigen.
Durch die Verwendung von Flask -Formularen haben wir eine leistungsstarke Möglichkeit, die Benutzereingaben zu verarbeiten, und können die von ihnen eingegebenen Daten überprüfen.
Flask -Erweiterung
Wie wir sehen, ist Flask ein Miniatur -Framework, das nur die wichtigsten Teile enthält, die für die Erstellung einer Webanwendung benötigt werden. Wenn wir jedoch die Funktionalität hinzufügen müssen, die Flask selbst nicht bereitstellt, müssen wir der Installation Pakete hinzufügen. Flask -Erweiterungen sind unsere Möglichkeit, diese zusätzliche Funktion bereitzustellen. Wir können einfach die erforderlichen Pakete installieren. Die Flask -Community hat viele Erweiterungen geschaffen.
Folgendes sind einige der beliebtesten Erweiterungen:
Die Flask -Community hat Hunderte von Erweiterungen geschaffen, um verschiedene Funktionen zu bewältigen. Die Verwendung von Erweiterungen ist normalerweise einfach. Zunächst müssen wir die erforderlichen Erweiterungen mit PIP installieren.
Schauen wir uns ein Beispiel mit Flask-Sqlalchemy an. Zuerst müssen wir es installieren:
<code>cd flask_intro</code>
Als nächstes müssen wir es konfigurieren. Zum Beispiel:
<code>virtualenv myenv</code>
Im obigen Beispiel haben wir ein Benutzermodell mit Benutzernamen und E -Mail -Feldern. Wir haben auch sqlalchemy_database_uri konfiguriert und uns angewiesen, die SQLite -Datenbank in Beispiel zu verwenden. Nach dem Einrichten können wir jetzt DB -Objekte verwenden, um mit der Datenbank zu interagieren. Zum Beispiel könnten wir einen neuen Benutzer erstellen und ihn wie folgt zur Datenbank hinzufügen:
<code>. myenv/bin/activate</code>
Mit der Flask -Erweiterung können unsere Anwendungen mehr Funktionen haben, als sie normalerweise mit Kernkolben implementiert würden.
Schlussfolgerung
In diesem Artikel stellen wir Flask vor, ein leichtes und flexibles Python -Web -Framework. Wir diskutieren die Vorteile der Verwendung von Flask für die Webentwicklung, einschließlich seiner Einfachheit, Flexibilität und Benutzerfreundlichkeit. Wir haben auch behandelt, wie man eine Entwicklungsumgebung einrichtet, Routen erstellt, Vorlagen verwendet, Prozessformen verwendet und Erweiterungen wie Flask-SQLalchemy verwendet.
Insgesamt ist Flask eine ausgezeichnete Wahl, um Webanwendungen jeder Größe zu erstellen, von kleinen persönlichen Projekten bis hin zu großen kommerziellen Anwendungen. Es ist einfach zu lernen und zu verwenden, bietet aber auch erweiterte Funktionen über seine zahlreichen Erweiterungen.Wenn Sie mehr über Flask erfahren möchten, finden Sie hier einige zusätzliche Ressourcen:
Wenn Sie mehr über Django und Flask und ihre besten Anwendungsfälle erfahren möchten, lesen Sie die Python Web Development mit Django und Flask.
Sie können diese kostenlosen Kolben -Kesselplatten auch anzeigen, um Ihre erste Webanwendung zu erstellen.
FAQs über Flask (Python -Framework)
Flask ist ein Miniatur -Web -Framework für Python. Es ist so konzipiert, dass es leicht und einfach zu bedienen ist, was es zu einer hervorragenden Wahl für die Entwicklung von Webanwendungen und APIs macht.
Sie können den Kolben mit PIP (Python's Package Manager) installieren. Verwenden Sie den Befehl <code>pip install Flask</code>, um den Kolben in Ihrem System zu installieren.
Flask ist bekannt für seine Einfachheit, Flexibilität und Minimalismus. Es bietet Funktionen wie URL -Routing, Anforderungsverarbeitung und Vorlage -Rendering und ermöglicht es Entwicklern, andere Komponenten nach Bedarf auszuwählen und zu integrieren.
Flask ist ein Miniatur-Framework, während Django ein volles Web-Framework ist. Flask bietet eine größere Flexibilität und Freiheit, Ihre Komponenten auszuwählen, während Django mit vielen integrierten Funktionen und Konventionen ausgestattet ist.
Ja, Flask eignet sich hervorragend zum Aufbau von erholsamen APIs. Seine Einfachheit und Unterstützung für HTTP -Methoden machen es zu einer beliebten Wahl für die Erstellung von API -Endpunkten.
Kolben kann für große Anwendungen verwendet werden, erfordert jedoch möglicherweise mehr manuelle Konfigurations- und Komponentenintegration als Full-Stack-Frameworks wie Django.
Das obige ist der detaillierte Inhalt vonErste Schritte mit Flask, einem Python -Mikroframework. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!