Přeskočit na obsah

Web2py

Z Wikipedie, otevřené encyklopedie
(rozdíl) ← Starší revize | zobrazit aktuální verzi (rozdíl) | Novější revize → (rozdíl)

Web2py je open source webový aplikační framework napsaný v Pythonu. Jedná se o full-stack framework, tedy nástroj pro kompletní vytvoření webové aplikace.

Vznikl v roce 2010 a je inspirován hlavně mnohem rozšířenějším frameworkem Django a dále frameworkem Ruby on Rails pro programovací jazyk Ruby. Software vznikl původně jako učební pomůcka pro nekomplikované vysvětlování principů tvorby dynamického webu. Původní jméno frameworku bylo Gluon (stále se tak jmenuje hlavní knihovna frameworku), ale bylo nutné přejmenování poté, co se zjistilo, že jméno Gluon již používá třetí strana.

Používá architekturu Model-view-controller: - Kód modelu je vykonán při každém přístupu - používá se hlavně k vytvoření připojení do databáze, popisu databázového schématu a k zadání menu (nabídky), - Z kódu kontroleru běží jen funkce, určená (neupravíte-li defaultní chování) URL adresou aplikace/soubor_kontroleru/funkce. Jejím úkolem je připravit (typicky získat z databáze) proměnné pro zobrazení v HTML stránce, - View (HTML šablona, template) sestaví HTML stránku mixováním HTML jazyka a řídícího kódu v Pythonu.

Web2py používá atypický způsob provedení kódu v základních segmentech, modelu, kontroléru a view: - proměnné, které definujete v modelu, vidíte (bez jejich importování) i v kontroléru, - základní proměnné, používané téměř při každém přístupu (request, response, session a helpery pro vytváření HTML značek), jsou k dispozici vždy automaticky (bez jejich importování), - model a kontrolér není klasicky importován, ale framework jej provádí pomocí execsript() Kritici frameworku Web2py poukazují na to, že toto není správná praxe kódování v jazyce Python. Nicméně kód, který neumístíte do modelu, kontroléru nebo view, ale do modulů, je již i z hlediska viditelnosti proměnných zcela standardní.

Mezi zajímavé vlastnosti frameworku patří: - ve view je používán přímo Python, nikoli nějaký šablonovací jazyk - nemusíte se tedy učit další syntaxi, - abstrakční jazyk pro práci s databází (třída DAL) je jednoduchý a automaticky sestavuje SQL příkazy pro aktuálně připojený databázový stroj (Postgres, SQLite, MySQL/MariaDb, Oracle, MS-SQL, apod.) - snadná práce s formuláři - snadná práce s mnoha aplikacemi z jedné instalace frameworku a z jedné instance vývojářského webového serveru - webové IDE rozhraní, které lze použít pro kódování i ladění místo newebového IDE (vývojářské aplikace) - možnost práce s GAE (Google Application Engine) - pro administraci všech aplikací máte k dispozici vestavěné webové rozhraní admin - pro administraci databáze aplikace máte k dispozici webové rozhraní aplikace/appadmin a další.

Začít vytvářet webové aplikace s Web2py je velmi jednoduché. Můžete: - začít vytvářet na zelené louce (from scratch), - we webovém IDE klonovat demo aplikaci Welcome.

Rozhodnete-li se pro druhý postup, máte ihned připraveno - menu s pomocí twitter-bootstrap javascriptové knihovny (neboli vhodné pro automatické zmenšování na mobilní zařízení) - podporu jQuery a jednoduchého volání ajaxu - připojení do databáze SQLite (nebo do jiných databázových strojů po změně připojovacího řetězce) - definici tabulek pro autorizaci uživatele - přihlašování uživatele včetně registrace, reakce na zapomenuté heslo, logování přihlášení apod. - základní HTML layout aplikace, do jehož výřezu doplňují další HTML vámi vytvořené view (šablony)

Samozřejmostí tedy je nejen triviální příklad "Hello world" na jeden nebo pár řádků, ale vaše první jednoduchá aplikace o méně než 10 příkazech může např.: - definovat jednu tabulku a validace jejích polí (1 přidaný příkaz v modelu), - připravit formulář pro editaci nebo přidání záznamu (4 příkazy v kontroléru včetně uložení dat a přesměrování po něm na další URL), - vykreslit formuláře v HTML (1 příkaz a žádný extra HTML kód ve view), - integrovat formulář do menu (1 příkaz (položka příkazu) v modelu).