Zum Inhalt springen

Flask

aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 20. Februar 2026 um 17:32 Uhr durch imported>Eriosw.
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Vorlage:Hinweisbaustein

Flask

colspan="2" class="notheme" style="text-align:center; background:#Vorlage:Standardfarbe; color:#202122;" | Datei:Flask logo.svg
Basisdaten

Maintainer Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
Entwickler Armin Ronacher<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Armin Ronacher.] , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 29. Mai 2016 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref>
Erscheinungsjahr 1. April 2010
Aktuelle Version Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
(Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value))
Aktuelle Vorabversion Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
(Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value))
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".<ref name="openingflask">Vorlage:Cite book/NameVorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Opening the Flask.] (PDF; 2,8 MB) , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 22. Mai 2012 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref><ref name="april1spostmortem">Vorlage:Cite book/NameVorlage:Cite book/Name: [Internetquelle: archiv-url ungültig April 1st Post Mortem.] , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 22. Mai 2012 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> 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,<ref name="flaskextensions">Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Flask Extensions.] , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 22. Mai 2012 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> wie zum Beispiel:

Verwendung

Eine Vielzahl von Anwendungen basiert auf Flask.<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Who uses Flask?] , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 5. November 2021 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> Flask ist mit zahlreichen Platform-as-a-Service-Diensten, wie Google App Engine<ref>Vorlage:Cite book/NameVorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Flying with Flask on Google App Engine.] , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 29. Mai 2012 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> oder Heroku<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Getting Started with Python on Heroku/Cedar.] , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 29. Mai 2012 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref>, kompatibel.

Beispiel

Der folgende Quelltext stellt eine einfache Webanwendung dar, die auf der Startseite Hallo Welt ausgibt: <syntaxhighlight lang="python"> from flask import Flask app = Flask(__name__)

@app.route("/") def hello():

   return "Hallo Welt"

if __name__ == "__main__":

   app.run()

</syntaxhighlight>

Render Template mit Flask

<syntaxhighlight lang="python"> 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()

</syntaxhighlight>

Jinja im HTML für das Rendertemplate

Der folgende Quelltext wird im Verzeichnis Templates abgelegt.

<syntaxhighlight lang="html"> <!DOCTYPE html> <html lang="de"> <head>

   <meta charset="UTF-8">
   <title>Nachricht</title>

</head> <body>

Vorlage:Nachricht

</body> </html> </syntaxhighlight>

Siehe auch

Weblinks

Einzelnachweise

<references />