Was ist Flask – Das komplette Python Web-Framework Tutorial
Einführung in Flask
Flask ist ein minimalistisches Web-Framework für Python, das speziell für die Entwicklung von Webanwendungen und REST APIs entwickelt wurde. Es bietet eine einfache und flexible Struktur, mit der Sie sowohl Prototypen als auch voll funktionsfähige Web-Apps schnell erstellen können. Flask basiert auf dem WSGI-Toolkit Werkzeug und nutzt das Template-System Jinja2.
Flask wurde 2010 von Armin Ronacher entwickelt und erfreut sich großer Beliebtheit dank seiner Philosophie „Tue eine Sache, aber tue sie gut". Im Gegensatz zu schwereren Frameworks bietet Flask nur das absolute Minimum und überlässt es den Entwicklern, die Komponenten für ihre Projekte selbst zu wählen.
Die wichtigsten Funktionen von Flask
Minimalistischer und erweiterbarer Ansatz
Flask folgt dem Micro-Framework-Prinzip und bietet grundlegende Funktionen, die Sie über Plugins und Erweiterungen ausbauen können.
Integriertes Routing und Request-Handling
Das Framework bietet ein intuitives Routing-System mit Unterstützung für verschiedene HTTP-Methoden und URL-Parameter.
Jinja2-Template-Unterstützung
Die Integration mit dem leistungsstarken Template-System Jinja2 ermöglicht eine komfortable Arbeit mit HTML-Vorlagen und dynamischen Inhalten.
REST API Entwicklung
Flask eignet sich hervorragend für die Erstellung von RESTful APIs dank der Unterstützung von JSON-Antworten und flexiblem HTTP-Methoden-Handling.
Erweiterungen und Plugins
Ein reichhaltiges Ökosystem an Erweiterungen ermöglicht die Integration von Datenbanken, Authentifizierung, Formularen und vielem mehr.
Kompatibel mit Python 3.7+
Flask unterstützt moderne Python-Versionen und folgt den besten Entwicklungspraktiken.
Installation und Einrichtung
Installation mit pip
pip install flask
Installation überprüfen
python -m flask --version
Datei app.py erstellen und starten
export FLASK_APP=app.py
flask run
Für Windows:
set FLASK_APP=app.py
flask run
Die erste Anwendung erstellen
Einfaches Beispiel app.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def home():
return "Willkommen bei Flask!"
if __name__ == '__main__':
app.run(debug=True)
Anwendung starten
flask run
Die Anwendung ist unter http://localhost:5000/ erreichbar.
Routing und URLs verarbeiten
Basis-Routing
@app.route("/user/<username>")
def show_user_profile(username):
return f"Benutzerprofil: {username}"
Routing mit Typangabe
@app.route("/post/<int:post_id>")
def show_post(post_id):
return f"Beitrag Nr. {post_id}"
@app.route("/user/<path:subpath>")
def show_subpath(subpath):
return f"Unterpfad: {subpath}"
Unterstützte Parametertypen
string– Zeichenketten (Standard)int– Ganze Zahlenfloat– Gleitkommazahlenpath– Zeichenketten mit "/"uuid– UUID-Zeichenketten
Arbeiten mit HTTP-Methoden
Verschiedene Methoden verarbeiten
@app.route("/data", methods=["GET", "POST", "PUT", "DELETE"])
def handle_data():
if request.method == "POST":
return "Daten erstellt"
elif request.method == "PUT":
return "Daten aktualisiert"
elif request.method == "DELETE":
return "Daten gelöscht"
return "Daten abrufen"
Arbeiten mit Templates
Auch in der Bibliothek
PDF-Generierung in C++: Überblick über Bibliotheken und Codebeispiele
Autorisierung und Authentifizierung in Kotlin: JWT, Spring Security und Ktor
Rate Limiting in Swift: Verwaltung der Anfragehäufigkeit in iOS/macOS
Maschinelles Lernen mit C++: Überblick über die wichtigsten Bibliotheken
PDF-Generierung in Kotlin: Bibliotheken und Werkzeuge (iText, Apache PDFBox)