Flask ist ein Micro-Framework für Python, das Armin Ronacher 2010 veröffentlicht hat. Es bringt Routing und Templates mit und überlässt alles Weitere Erweiterungen, die du nach Bedarf einbindest.
- Flask
Ein kleines Python-Framework für Webanwendungen und Schnittstellen, das sich über Erweiterungen ausbauen lässt.
Beispiel: „Die kleine Schnittstelle für den Lagerbestand haben wir mit Flask gebaut, sie besteht aus einer einzigen Datei.“Abgrenzung zu Django: Django bringt Datenbank, Formulare und Verwaltung mit. Flask startet ohne all das, und du wählst selbst, was dazukommt.
Wie Flask aufgebaut ist
Aus zwei Bibliotheken desselben Umfelds: Werkzeug für die Verarbeitung von Anfragen und Jinja für die Templates. Eine Route ist eine Python-Funktion mit einem Dekorator, der die Adresse festlegt.
from flask import Flask
app = Flask(__name__)
@app.route('/hallo')
def hallo():
return 'Hallo aus Flask'Für Datenbank, Anmeldung oder Formulare gibt es Erweiterungen wie Flask-SQLAlchemy und Flask-Login, die sich wie Bausteine einsetzen lassen.
Wofür Flask sich eignet
Für kleine Webanwendungen, Prototypen und Schnittstellen, etwa um ein Modell für maschinelles Lernen im Netz verfügbar zu machen. Die Einstiegshürde ist niedrig, und der Code bleibt übersichtlich.
Bei größeren Projekten musst du die Struktur selbst festlegen, die Django schon vorgibt. Das ist Freiheit und Aufwand zugleich.
Flask und FastAPI
Für reine Schnittstellen ist FastAPI in den letzten Jahren zur häufigeren Wahl geworden, weil es Eingaben über Typangaben prüft und die Dokumentation von selbst erzeugt. Flask bleibt verbreitet, wenn neben der Schnittstelle auch HTML-Seiten entstehen sollen.
Gepflegt wird Flask von der Gruppe Pallets, die auch Jinja, Werkzeug und das Kommandozeilenwerkzeug Click betreut.