HOWTO · Flask

Eine Flask-Anwendung ausführen

Richten Sie eine virtuelle Python-Umgebung ein, installieren Sie Flask, erstellen Sie eine kleine app.py-Anwendung und führen Sie sie lokal aus.

Auf dieser Seite

Um eine Flask-App auszuführen, erstellen Sie eine virtuelle Python-Umgebung, installieren Flask darin, speichern eine Route in app.py und starten den Entwicklungsserver über die Flask-Befehlszeile. Öffnen Sie die angezeigte lokale Adresse im Browser, um die Antwort der Route zu sehen. Diese Anleitung verwendet Visual Studio Code; dieselben Dateien und Befehle funktionieren aber auch in einem anderen Editor.

Eine einfache Flask-Anwendung erstellen

Flask ist ein Python-Webframework zum Erstellen von Webanwendungen und APIs. Für ein kleines Projekt benötigen Sie Python, Flask in der Projektumgebung und eine Python-Datei, in der die Anwendung und ihre Routen definiert sind.

Öffnen Sie zunächst in Visual Studio Code einen Projektordner und prüfen Sie im integrierten Terminal mit python --version, ob Python verfügbar ist. Der Befehl sollte eine installierte Python-Version ausgeben. Auf manchen Systemen heißt der Python-Befehl python3. Verwenden Sie diesen Namen bei Bedarf durchgehend für die Versionsprüfung, das Erstellen der Umgebung und den späteren Ausführungsbefehl.

Erstellen Sie mit python -m venv .venv eine virtuelle Umgebung im Projektordner. Sie hält die Pakete dieses Projekts von anderen Python-Projekten und der Systeminstallation getrennt. Aktivieren Sie sie mit dem passenden Befehl für Ihr Terminal:

  • Windows-Eingabeaufforderung: .venv\Scripts\activate.bat
  • Windows PowerShell: .venv\Scripts\Activate.ps1
  • macOS oder Linux: source .venv/bin/activate

Installieren Sie nach der Aktivierung Flask mit python -m pip install Flask. Durch python -m pip wird die Installation an den Python-Interpreter gebunden, den die aktive Umgebung verwendet. Meldet das Terminal, dass python nicht verfügbar ist, führen Sie die Befehle mit python3 aus, sofern dieser Befehl installiert ist. Falls Visual Studio Code den Interpreter nicht automatisch erkennt, wählen Sie dort den Interpreter aus .venv aus.

Erstellen Sie im Projektordner eine Datei namens app.py und fügen Sie diese minimale Anwendung ein. Ihr Test-Client ruft die Root-Route auf und gibt die Antwort aus, wenn Sie python app.py ausführen:

from flask import Flask

app = Flask(__name__)


@app.route("/")
def index():
    return "Hi there, this is our basic Flask app."


if __name__ == "__main__":
    response = app.test_client().get("/")
    print(response.get_data(as_text=True))
Hi there, this is our basic Flask app.

Die Klasse Flask erstellt das Anwendungsobjekt. Der Dekorator @app.route("/") ordnet den Stamm-Pfad der Website der Funktion index zu; der zurückgegebene Text wird zur Browserantwort. Der Test-Client ruft diese Route auf, ohne einen Netzwerk-Port zu öffnen. Der Block if __name__ == "__main__": führt die Prüfung nur aus, wenn Sie diese Datei direkt starten. Wird sie aus einem anderen Modul importiert, gibt sie die Antwort nicht aus.

Damit die App im Browser angezeigt wird, lassen Sie die Umgebung aktiv und wechseln Sie im Terminal in den Ordner mit app.py. Starten Sie dann Flasks Entwicklungsserver mit flask --app app run. Wenn Ihr System python3 verwendet, aktivieren Sie die mit diesem Interpreter erstellte Umgebung und verwenden Sie den dazugehörigen Flask-Befehl. Flask gibt eine lokale URL aus, häufig http://127.0.0.1:5000. Öffnen Sie genau die Adresse, die im Terminal angezeigt wird. Beim Aufruf des Stamm-Pfads erscheint Hi there, this is our basic Flask app. Diese Beispielmeldung bleibt im unveränderten Code auf Englisch. Lassen Sie den Terminalprozess laufen, solange Sie die Seite verwenden, und drücken Sie dort Ctrl+C, um den Server zu stoppen. Mit python app.py führen Sie die oben gezeigte Routenprüfung aus; anschließend wird das Programm beendet.

Flasks integrierter Server ist für die lokale Entwicklung vorgesehen. Verwenden Sie ihn nicht als Produktionsserver und aktivieren Sie den Debug-Modus nicht in einer Produktionsumgebung. Verwenden Sie stattdessen einen für Ihren Host geeigneten WSGI-Produktionsserver und eine passende Deployment-Konfiguration.