Flask

Flask

Basisdaten

Entwickler Armin Ronacher[1]
Erscheinungsjahr 1. April 2010
Aktuelle Version 3.1.3[2]
(19. Februar 2026)
Betriebssystem plattformübergreifend
Programmier­sprache Python
Kategorie Webframework
Lizenz BSD-Lizenz
palletsprojects.com/p/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.

Geschichte

Die 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

Flask 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:

Verwendung

Eine 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

Der 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()

Render Template mit Flask

from flask import Flask, render_template

app = Flask(__name__)

@app.route("/")
def message():
    nachricht = "Hallo Welt!"
    return render_template("index.html", nachricht=nachricht)

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

Jinja im HTML für das Rendertemplate

Der folgende Quelltext wird im Verzeichnis Templates abgelegt.

<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <title>Nachricht</title>
</head>
<body>
    <p>{{ nachricht }}</p>
</body>
</html>

Siehe auch

Einzelnachweise

  1. Armin Ronacher. Abgerufen am 29. Mai 2016 (englisch).
  2. Release 3.1.3. 19. Februar 2026 (abgerufen am 7. April 2026).
  3. Armin Ronacher: Opening the Flask. (PDF; 2,8 MB) Abgerufen am 22. Mai 2012 (englisch).
  4. Armin Ronacher: April 1st Post Mortem. Abgerufen am 22. Mai 2012 (englisch).
  5. Flask Extensions. Abgerufen am 22. Mai 2012 (englisch).
  6. Who uses Flask? Abgerufen am 5. November 2021 (englisch).
  7. Francisco Souza: Flying with Flask on Google App Engine. Abgerufen am 29. Mai 2012 (englisch).
  8. Getting Started with Python on Heroku/Cedar. Abgerufen am 29. Mai 2012 (englisch).

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.