Vývojář | Armin Ronacher |
---|---|
Aktuální verze | 3.1.0 (13. listopadu 2024) |
Operační systém | multiplatformní software |
Vyvíjeno v | Python |
Typ softwaru | webový aplikační framework |
Licence | 3-clause BSD License |
Web | flask |
Některá data mohou pocházet z datové položky. |
Flask je mikro webový framework napsaný v programovacím jazyce Python. Je klasifikován jako mikro webový framework, protože nevyžaduje konkrétní nástroje ani další vnitřní knihovny. Nemá žádnou vrstvu abstrakce databáze, ověřování formulářů ani žádné jiné komponenty třetích stran poskytující běžné funkce.
Flask však podporuje rozšíření, která mohou přidávat do aplikace další funkce, jako by byly implementovány v samotném Flasku. Existují rozšíření pro objektově-relační mapovače, ověřování formulářů, zpracování nahrávání, různé technologie otevřeného ověřování a několik dalších souvisejících nástrojů pro tvorbu webových aplikací.[1]
Mezi aplikace využívající Flask patří například služba Pinterest a LinkedIn.[2][3]
V základu je založen na Pocoo projektech, knihovně nástrojů Werkzeug a šablonovacímu systému Jinja2.
Werkzeug je knihovna nástrojů pro programovací jazyk Python, jinými slovy sada nástrojů pro aplikace Web Server Gateway Interface (WSGI), a je licencována na základě licence BSD. Werkzeug může realizovat softwarové objekty pro funkce požadavků, odpovědí a obslužných programů.[4]
Šablonovací systémy umožňují uživateli generovat požadovaný typ obsahu, jako je například HTML, s použitím některých datových a programovacích chytrých konstrukcí. Pro manipulaci s výstupem je tedy možné zajistit podmínky a cykly. Šablony jsou vytvořeny vývojářem a následně zpracovány šablonovacím systémem. Při tomto procesu jsou přepsány značky a bloky, které jsou nahrazeny výstupními daty.[5]
Flask využívá šablonovací systém Jinja2. Jinja2 je moderní šablonovací jazyk pro Python, který je modelovaný podobně podle šablon Django. Je rychlý, široce používaný a bezpečný.[6] Pro přístup k proměnným se používají dvojité složené závorky. Pro podmínky a cykly se používá složená závorka a znak procenta.
Framework Flask byl vytvořen programátory Arminem Ronacherem a Georgem Brandlem z týmu Pocoo, mezinárodní skupiny nadšenců Pythonu, která vznikla v roce 2004. Podle Ronachera byla tato myšlenka původně vtipem z Aprílu, který byl natolik populární, že se nakonec stal seriózní aplikací.[7]
Flask se stal populární mezi vývojáři Pythonu. V říjnu roku 2020 měl na GitHubu druhé místo v rámci vývojových frameworků v Pythonu, jen mírně za Djangem, a byl zvolen nejpopulárnějším webovým frameworkem v průzkumu Python Developers Survey 2018.[8]
Flask-RESTful je rozšíření FW Flasku, které přidává abstraktní podporu pro rychlé vytváření REST požadavků (API). Jedná se v poměru o tenkou vrstvu abstrakce, která by měla fungovat s existujícím ORM a dalšími knihovnami. Flask-RESTful je navržen tak, aby ho uživatelé, kteří znají Flask co nejrychleji pochopili. Za vývojem Flask-RESTful stojí firma Twilio, ale přispělo do něj více než sto jednotlivců. Je zveřejněn pod BSD licencí. Závisí na Flasku a dalších třech modulech. Celkově tak nepřímo závisí na ostatních modulech. Na GitHubu má necelých šest tisíc hvězd. [9] Toto rozšíření podporuje obě verze Pythonu.
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Ahoj Světe!"
if __name__ == "__main__":
app.run(debug=True)