Flask
Flask ist ein in Python geschriebenes Webframework. Sein Fokus liegt auf Erweiterbarkeit und guter Dokumentation. Die einzigen Softwareabhängigkeiten (engl. dependency) sind Jinja2, eine Template-Engine, und Werkzeug, eine Softwarebibliothek zum Erstellen von WSGI-Anwendungen.
Flask
| |
---|---|
Basisdaten
| |
Entwickler | Armin Ronacher[1] |
Erscheinungsjahr | 1. April 2010 |
Aktuelle Version | 3.0.3[2] (7. April 2024) |
Betriebssystem | plattformübergreifend |
Programmiersprache | Python |
Kategorie | Webframework |
Lizenz | BSD-Lizenz |
palletsprojects.com/p/flask/ |
Geschichte
BearbeitenDie Entwicklung von Flask begann 2010 als Aprilscherz unter dem Namen "Denied".[3][4] Aufgrund der überraschend großen Anzahl an positiven Rückmeldungen startete der österreichische Softwareentwickler Armin Ronacher das Projekt "Flask".
Funktionsweise
BearbeitenFlask kommuniziert über die WSGI-Schnittstelle, derzeit die aktuelle Entwicklung für die Kommunikation zwischen Webserver und Webanwendungen im Python-Umfeld. Für Testzwecke und während der Entwicklung kann der von Flask mitgelieferte Webserver verwendet werden.
Im Gegensatz zu anderen Frameworks, wie zum Beispiel Django oder Web2py, stellt Flask keine Komponenten zur Verfügung, für die bereits Lösungen existieren, sondern erlaubt es, bestehende Bibliotheken einfach zu integrieren. Dadurch kann die Kernfunktionalität von Flask einfach und minimal gehalten werden. Es existieren Erweiterungen für die meisten gängigen Funktionen,[5] wie zum Beispiel:
- Handhabung von Authentifizierung, Cookies, Sessions
- konfigurierbares Caching
- Internationalisierung
- eine Abstraktionsschicht für Datenbanken, die dynamisch SQL erzeugt (ORM, Object-Relational Mapping)
- Kompatibilität zu vielen Datenbanksystemen (derzeit Informix IDS, Db2, Drizzle, Firebird, SAP MaxDB, Microsoft Access, Microsoft SQL Server, MySQL, Oracle Database, PostgreSQL, SQLite und Sybase ASE, MongoDB)
Verwendung
BearbeitenEine Vielzahl von Anwendungen basiert auf Flask.[6] Flask ist mit zahlreichen Platform-as-a-Service-Diensten, wie Google App Engine[7] oder Heroku[8], kompatibel.
Beispiel
BearbeitenDer folgende Quelltext stellt eine einfache Webanwendung dar, die auf der Startseite Hallo Welt ausgibt:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hallo Welt"
if __name__ == "__main__":
app.run()
Siehe auch
Bearbeiten- Django (Python Web Framework)
- TurboGears (Python Web Framework, das standardmäßig SQLAlchemy als ORM benutzt)
- web2py (Python Web Framework)
- Bottle (Python Web Micro Framework)
Weblinks
Bearbeiten- Flask (englisch)
- Einführung in Flask (englisch)
- Dokumentation (englisch)
- Präsentation von Flask auf der Pycon Atlanta 2011 (englisch)
- Anleitung für Internationalisierung mit Flask (englisch)
Einzelnachweise
Bearbeiten- ↑ Armin Ronacher. Abgerufen am 29. Mai 2016.
- ↑ Release 3.0.3. 7. April 2024 (abgerufen am 23. April 2024).
- ↑ Armin Ronacher: Opening the Flask. (PDF; 2,8 MB) Abgerufen am 22. Mai 2012.
- ↑ Armin Ronacher: April 1st Post Mortem. Abgerufen am 22. Mai 2012.
- ↑ Flask Extensions. Abgerufen am 22. Mai 2012.
- ↑ Who uses Flask? Abgerufen am 5. November 2021.
- ↑ Francisco Souza: Flying with Flask on Google App Engine. Abgerufen am 29. Mai 2012.
- ↑ Getting Started with Python on Heroku/Cedar. Abgerufen am 29. Mai 2012.