贵州电商云打通“黔货”出山“网货”下乡双向通道
![]() | |
Vyvojá? | Armin Ronacher |
---|---|
Aktuální verze | 3.1.1 (13. května 2025) |
Opera?ní systém | cross-platform |
Vyvíjeno v | Python |
Typ softwaru | webovy aplika?ní framework |
Licence | 3-clause BSD License |
Web | flask |
Některá data mohou pocházet z datové polo?ky. |
Flask je mikro webovy framework napsany v programovacím jazyce Python. Je klasifikován jako mikro webovy 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 webovych 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
[editovat | editovat zdroj]Werkzeug je knihovna nástroj? pro programovací jazyk Python, jinymi 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?nych program?.[4]
Jinja2
[editovat | editovat zdroj]?ablonovací systémy umo?ňují u?ivateli generovat po?adovany typ obsahu, jako je nap?íklad HTML, s pou?itím některych datovych a programovacích chytrych konstrukcí. Pro manipulaci s vystupem je tedy mo?né zajistit podmínky a cykly. ?ablony jsou vytvo?eny vyvojá?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 vystupními daty.[5]
Flask vyu?ívá ?ablonovací systém Jinja2. Jinja2 je moderní ?ablonovací jazyk pro Python, ktery je modelovany podobně podle ?ablon Django. Je rychly, ?iroce pou?ívany a bezpe?ny.[6] Pro p?ístup k proměnnym se pou?ívají dvojité slo?ené závorky. Pro podmínky a cykly se pou?ívá slo?ená závorka a znak procenta.
Historie
[editovat | editovat zdroj]Framework Flask byl vytvo?en programátory Arminem Ronacherem a Georgem Brandlem z tymu Pocoo, mezinárodní skupiny nad?enc? Pythonu, která vznikla v roce 2004. Podle Ronachera byla tato my?lenka p?vodně vtipem z Aprílu, ktery byl natolik populární, ?e se nakonec stal seriózní aplikací.[7]
Flask se stal populární mezi vyvojá?i Pythonu. V ?íjnu roku 2020 měl na GitHubu druhé místo v rámci vyvojovych framework? v Pythonu, jen mírně za Djangem, a byl zvolen nejpopulárněj?ím webovym frameworkem v pr?zkumu Python Developers Survey 2018.[8]
Základní funkce
[editovat | editovat zdroj]- Vyvojovy server a debugger
- Integrovaná podpora pro testování jednotek (Unit testing)
- Flask RESTful API
- Pou?ívá ?ablonování Jinja2
- Podpora zabezpe?enych cookies
- 100% WSGI 1.0 kompatibilní
- Zalo?eno na kódování Unicode
- Rozsáhlá dokumentace
- Kompatibilita s Google App Engine
Flask-RESTful API
[editovat | editovat zdroj]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 vyvojem 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á necelych ?est tisíc hvězd. [9] Toto roz?í?ení podporuje obě verze Pythonu.
P?íklad zdrojového úryvku
[editovat | editovat zdroj]from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Ahoj Světe!"
if __name__ == "__main__":
app.run(debug=True)
Reference
[editovat | editovat zdroj]- ↑ Extensions — Flask Documentation (1.1.x). flask.palletsprojects.com [online]. [cit. 2025-08-06]. Dostupné online.
- ↑ Steve Cohen's answer to What challenges has Pinterest encountered with Flask? - Quora. www.quora.com [online]. [cit. 2025-08-06]. Dostupné online.
- ↑ Rachel Sanders: Developing Flask Extensions - PyCon 2014 - YouTube. www.youtube.com [online]. [cit. 2025-08-06]. Dostupné online.
- ↑ Werkzeug. Pallets [online]. [cit. 2025-08-06]. Dostupné online.
- ↑ Template Engines. www.fullstackpython.com [online]. [cit. 2025-08-06]. Dostupné online. (anglicky)
- ↑ Jinja — Jinja Documentation (2.11.x). jinja.palletsprojects.com [online]. [cit. 2025-08-06]. Dostupné online.
- ↑ History — Pocoo. web.archive.org [online]. 2025-08-06 [cit. 2025-08-06]. Dostupné v archivu po?ízeném z originálu dne 2025-08-06.
- ↑ Python Developers Survey 2018 Results. JetBrains [online]. [cit. 2025-08-06]. Dostupné online. (anglicky)
- ↑ flask-restful/flask-restful. github.com [online]. 2025-08-06 [cit. 2025-08-06]. Original-date: 2025-08-06T00:08:51Z. Dostupné online.
Externí odkazy
[editovat | editovat zdroj]Obrázky, zvuky ?i videa k tématu Flask na Wikimedia Commons
- Oficiální stránky