Entwickle Flask-Anwendung mit Entwicklungsserver

FlaskFlaskBeginner
Jetzt üben

This tutorial is from open-source community. Access the source code

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Tutorial lernen Sie, wie Sie den Entwicklungsserver in Flask verwenden, um Ihre Flask-Anwendung während der lokalen Entwicklung auszuführen. Der Entwicklungsserver bietet einen interaktiven Debugger und lädt den Code automatisch neu, wenn Änderungen vorgenommen werden. In diesem Tutorial führen wir Sie durch die Schritte, um den Entwicklungsserver auszuführen und häufige Probleme zu behandeln, die auftreten können.

Hinweis: Sie müssen die Code-Datei selbst erstellen und in der Umgebung ausführen. Sie können den Status des Flask-Diensts auf Web 5000 vorab anzeigen.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL flask(("Flask")) -.-> flask/DataHandlingGroup(["Data Handling"]) flask(("Flask")) -.-> flask/CoreConceptsGroup(["Core Concepts"]) flask(("Flask")) -.-> flask/DevelopmentToolsGroup(["Development Tools"]) flask/DataHandlingGroup -.-> flask/incoming_request_data("Incoming Request Data") flask/DataHandlingGroup -.-> flask/response_objects("Response Objects") flask/CoreConceptsGroup -.-> flask/application_object("Application Object") flask/CoreConceptsGroup -.-> flask/sessions("Sessions") flask/CoreConceptsGroup -.-> flask/useful_internals("Useful Internals") flask/DevelopmentToolsGroup -.-> flask/blueprint_objects("Blueprint Objects") subgraph Lab Skills flask/incoming_request_data -.-> lab-136104{{"Entwickle Flask-Anwendung mit Entwicklungsserver"}} flask/response_objects -.-> lab-136104{{"Entwickle Flask-Anwendung mit Entwicklungsserver"}} flask/application_object -.-> lab-136104{{"Entwickle Flask-Anwendung mit Entwicklungsserver"}} flask/sessions -.-> lab-136104{{"Entwickle Flask-Anwendung mit Entwicklungsserver"}} flask/useful_internals -.-> lab-136104{{"Entwickle Flask-Anwendung mit Entwicklungsserver"}} flask/blueprint_objects -.-> lab-136104{{"Entwickle Flask-Anwendung mit Entwicklungsserver"}} end

Flask-Anwendung einrichten

Bevor wir den Entwicklungsserver starten können, müssen wir eine Flask-Anwendung einrichten. Erstellen Sie eine neue Python-Datei namens app.py und fügen Sie den folgenden Code hinzu:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello, Flask!'

if __name__ == "__main__":
    app.run(debug=True)

In diesem Code erstellen wir eine Flask-Anwendung und definieren einen Endpunkt, der eine einfache Nachricht "Hello, Flask!" zurückgibt. Der Block if __name__ == "__main__": stellt sicher, dass die Flask-Anwendung nur ausgeführt wird, wenn das Skript direkt ausgeführt wird, nicht wenn es als Modul importiert wird.

Entwicklungsserver mit der Flask-Befehlszeilenschnittstelle ausführen

Der einfachste Weg, den Entwicklungsserver zu starten, ist es, den Befehl flask run der Flask-Befehlszeilenschnittstelle zu verwenden. Öffnen Sie ein Terminal oder eine Eingabeaufforderung, navigieren Sie zum Verzeichnis, in dem sich Ihre app.py-Datei befindet, und führen Sie den folgenden Befehl aus:

flask run

Dadurch wird der Entwicklungsserver auf http://localhost:5000/ gestartet. Sie können Ihre Flask-Anwendung über einen Webbrowser und Eingabe dieser URL zugreifen.

Debugmodus aktivieren

Um den Debugmodus zu aktivieren, der einen interaktiven Debugger bietet und den Code automatisch neu lädt, wenn Änderungen vorgenommen werden, fügen Sie die Option --debug zum Befehl flask run hinzu:

flask run --debug

Jetzt werden alle Änderungen, die Sie am Code vornehmen, einen automatischen Neustart des Entwicklungsservers auslösen.

Anwendungsdatei angeben

Standardmäßig sucht Flask nach einer Datei namens app.py, um als Flask-Anwendung auszuführen. Wenn Ihre Datei einen anderen Namen hat oder sich in einem anderen Verzeichnis befindet, können Sie die Option --app verwenden, um die Anwendungsdatei anzugeben:

flask run --app myapp.py

Ersetzen Sie myapp.py durch den Namen Ihrer Anwendungsdatei.

Adresse bereits in Verwendung

Wenn Sie beim Versuch, den Server zu starten, eine OSError mit der Fehlermeldung "Address already in use" erhalten, bedeutet dies, dass ein anderer Programm bereits den Port 5000 verwendet, der der Standardport für den Entwicklungsserver ist. Sie können entweder das andere Programm identifizieren und beenden oder einen anderen Port wählen.

Um den Prozess zu identifizieren, der Port 5000 verwendet, können Sie den Befehl netstat oder lsof verwenden. Hier sind Beispiele für Linux, macOS und Windows:

  • Linux:
netstat -nlp | grep 5000
  • macOS / Linux:
lsof -P -i :5000
  • Windows:
-ano > netstat | findstr 5000

Sobald Sie den Prozess identifiziert haben, können Sie andere Betriebssystemtools verwenden, um ihn zu beenden. Nachdem Sie den Prozess beendet haben, sollten Sie in der Lage sein, den Entwicklungsserver ohne Probleme auszuführen.

Ausführen des Entwicklungsservers aus Python

Neben der Verwendung des Flask-Befehlszeilenbefehls können Sie auch den Entwicklungsserver aus Python-Code starten. Fügen Sie den folgenden Code am Ende Ihrer app.py-Datei hinzu:

if __name__ == "__main__":
    app.run(debug=True)

Jetzt können Sie den Entwicklungsserver starten, indem Sie die app.py-Datei mit Python ausführen:

python app.py

Dadurch wird der Entwicklungsserver gestartet und Sie können auf Ihre Flask-Anwendung auf die gleiche Weise wie zuvor zugreifen.

Zusammenfassung

In diesem Tutorial haben Sie gelernt, wie Sie den Entwicklungsserver in Flask verwenden, um Ihre Flask-Anwendung während der lokalen Entwicklung auszuführen. Sie haben gelernt, wie Sie den Entwicklungsserver mit dem Flask-Befehlszeilenbefehl ausführen, den Debugmodus aktivieren, die Anwendungsdatei angeben und häufige Probleme wie "Address already in use" behandeln. Sie haben auch gelernt, wie Sie den Entwicklungsserver aus Python-Code starten. Mit dem Entwicklungsserver können Sie Ihre Flask-Anwendung leicht testen und debuggen, bevor Sie sie in der Produktion bereitstellen.