. . . . . "6148"^^ . . . . . "web2py"@cs . . . "web2py "@cs . . . . . . "27"^^ . . . . "977911"^^ . "Web2py"@cs . . . . . . . . . . . . "15428912"^^ . . . "Web2py je open source webov\u00FD aplika\u010Dn\u00ED framework napsan\u00FD v Pythonu. Jedn\u00E1 se o full-stack framework, tedy n\u00E1stroj pro kompletn\u00ED vytvo\u0159en\u00ED webov\u00E9 aplikace.Vznikl v roce 2010 a je inspirov\u00E1n hlavn\u011B mnohem roz\u0161\u00ED\u0159en\u011Bj\u0161\u00EDm frameworkem Django a d\u00E1le frameworkem Ruby on Rails pro programovac\u00ED jazyk Ruby. Software vznikl p\u016Fvodn\u011B jako u\u010Debn\u00ED pom\u016Fcka pro nekomplikovan\u00E9 vysv\u011Btlov\u00E1n\u00ED princip\u016F tvorby dynamick\u00E9ho webu."@cs . . "Web2py je open source webov\u00FD aplika\u010Dn\u00ED framework napsan\u00FD v Pythonu. Jedn\u00E1 se o full-stack framework, tedy n\u00E1stroj pro kompletn\u00ED vytvo\u0159en\u00ED webov\u00E9 aplikace.Vznikl v roce 2010 a je inspirov\u00E1n hlavn\u011B mnohem roz\u0161\u00ED\u0159en\u011Bj\u0161\u00EDm frameworkem Django a d\u00E1le frameworkem Ruby on Rails pro programovac\u00ED jazyk Ruby. Software vznikl p\u016Fvodn\u011B jako u\u010Debn\u00ED pom\u016Fcka pro nekomplikovan\u00E9 vysv\u011Btlov\u00E1n\u00ED princip\u016F tvorby dynamick\u00E9ho webu. P\u016Fvodn\u00ED jm\u00E9no frameworku bylo Gluon (st\u00E1le se tak jmenuje hlavn\u00ED knihovna frameworku), ale bylo nutn\u00E9 p\u0159ejmenov\u00E1n\u00ED pot\u00E9, co se zjistilo, \u017Ee jm\u00E9no Gluon ji\u017E pou\u017E\u00EDv\u00E1 t\u0159et\u00ED strana.Pou\u017E\u00EDv\u00E1 architekturu Model-View-Controller: K\u00F3d modelu je vykon\u00E1n p\u0159i ka\u017Ed\u00E9m p\u0159\u00EDstupu - pou\u017E\u00EDv\u00E1 se hlavn\u011B k vytvo\u0159en\u00ED p\u0159ipojen\u00ED do datab\u00E1ze, popisu datab\u00E1zov\u00E9ho sch\u00E9matu a k zad\u00E1n\u00ED menu (nab\u00EDdky), Z k\u00F3du kontroleru b\u011B\u017E\u00ED jen funkce, ur\u010Den\u00E1 (neuprav\u00EDte-li defaultn\u00ED chov\u00E1n\u00ED) URL adresou aplikace/soubor_kontroleru/funkce. Jej\u00EDm \u00FAkolem je p\u0159ipravit (typicky z\u00EDskat z datab\u00E1ze) prom\u011Bnn\u00E9 pro zobrazen\u00ED v HTML str\u00E1nce, View (HTML \u0161ablona, template) sestav\u00ED HTML str\u00E1nku mixov\u00E1n\u00EDm HTML jazyka a \u0159\u00EDd\u00EDc\u00EDho k\u00F3du v Pythonu.Web2py pou\u017E\u00EDv\u00E1 atypick\u00FD zp\u016Fsob proveden\u00ED k\u00F3du v z\u00E1kladn\u00EDch segmentech, modelu, kontrol\u00E9ru a view: prom\u011Bnn\u00E9, kter\u00E9 definujete v modelu, vid\u00EDte (bez jejich importov\u00E1n\u00ED) i v kontrol\u00E9ru, z\u00E1kladn\u00ED prom\u011Bnn\u00E9, pou\u017E\u00EDvan\u00E9 t\u00E9m\u011B\u0159 p\u0159i ka\u017Ed\u00E9m p\u0159\u00EDstupu (request, response, session, valid\u00E1tory \u00FAdaj\u016F a helpery pro vytv\u00E1\u0159en\u00ED HTML zna\u010Dek), jsou k dispozici v\u017Edy automaticky (bez jejich importov\u00E1n\u00ED), model a kontrol\u00E9r nen\u00ED klasicky importov\u00E1n, ale framework jej prov\u00E1d\u00ED pomoc\u00ED execsript()Kritici frameworku Web2py poukazuj\u00ED na to, \u017Ee toto nen\u00ED spr\u00E1vn\u00E1 praxe k\u00F3dov\u00E1n\u00ED v jazyce Python. Nicm\u00E9n\u011B k\u00F3d, kter\u00FD neum\u00EDst\u00EDte do modelu, kontrol\u00E9ru nebo view, ale do modul\u016F, je ji\u017E i z hlediska viditelnosti prom\u011Bnn\u00FDch zcela standardn\u00ED.Mezi zaj\u00EDmav\u00E9 vlastnosti frameworku pat\u0159\u00ED: ve view je pou\u017E\u00EDv\u00E1n p\u0159\u00EDmo Python, nikoli n\u011Bjak\u00FD jin\u00FD \u0161ablonovac\u00ED jazyk - nemus\u00EDte se tedy u\u010Dit dal\u0161\u00ED syntaxi, abstrak\u010Dn\u00ED jazyk pro pr\u00E1ci s datab\u00E1z\u00ED (t\u0159\u00EDda DAL) je jednoduch\u00FD a automaticky sestavuje SQL p\u0159\u00EDkazy pro aktu\u00E1ln\u011B p\u0159ipojen\u00FD datab\u00E1zov\u00FD stroj (Postgres, SQLite, MySQL/MariaDb, Oracle, MS-SQL, apod.) snadn\u00E1 pr\u00E1ce s formul\u00E1\u0159i snadn\u00E1 pr\u00E1ce s mnoha aplikacemi z jedn\u00E9 instalace frameworku a z jedn\u00E9 instance v\u00FDvoj\u00E1\u0159sk\u00E9ho webov\u00E9ho serveru webov\u00E9 IDE rozhran\u00ED, kter\u00E9 lze pou\u017E\u00EDt pro k\u00F3dov\u00E1n\u00ED i lad\u011Bn\u00ED m\u00EDsto newebov\u00E9ho IDE (v\u00FDvoj\u00E1\u0159sk\u00E9 aplikace) mo\u017Enost pr\u00E1ce s GAE (Google Application Engine)- pro administraci v\u0161ech aplikac\u00ED m\u00E1te k dispozici vestav\u011Bn\u00E9 webov\u00E9 rozhran\u00ED admin pro administraci datab\u00E1ze aplikace m\u00E1te k dispozici webov\u00E9 rozhran\u00ED aplikace/appadmina dal\u0161\u00ED.Nev\u00FDhody frameworku: m\u00E1lo roz\u0161\u00ED\u0159en\u00FD framework existuje m\u00E1lo komponent a modul\u016F pro n\u011Bj, mnoho v\u011Bc\u00ED tedy mus\u00EDte \u0159e\u0161it sami chyb\u00ED pou\u017Eiteln\u00E9 CMS nebo e-shop, napsan\u00E9 pomoc\u00ED tohoto frameworku um\u00EDstit aplikaci na hosting m\u016F\u017Ee b\u00FDt obt\u00ED\u017En\u011Bj\u0161\u00ED z\u00EDskat informace nebo pomoc m\u016F\u017Ee b\u00FDt obt\u00ED\u017En\u011Bj\u0161\u00ED (av\u0161ak dokumentace a podpora komunity je dobr\u00E1) nestandardn\u00ED p\u0159ed\u00E1v\u00E1n\u00ED prom\u011Bnn\u00FDch request, response, session do p\u0159\u00EDdavn\u00FDch modul\u016F (viz dokumentace)Za\u010D\u00EDt vytv\u00E1\u0159et webov\u00E9 aplikace s Web2py je velmi jednoduch\u00E9. M\u016F\u017Eete: za\u010D\u00EDt vytv\u00E1\u0159et na zelen\u00E9 louce (from scratch), ve webov\u00E9m IDE klonovat demo aplikaci Welcome.Rozhodnete-li se pro druh\u00FD postup, m\u00E1te ihned p\u0159ipraveno menu s pomoc\u00ED twitter-bootstrap javascriptov\u00E9 knihovny (neboli vhodn\u00E9 pro automatick\u00E9 zmen\u0161ov\u00E1n\u00ED na mobiln\u00ED za\u0159\u00EDzen\u00ED) podporu jQuery a jednoduch\u00E9ho vol\u00E1n\u00ED ajaxu p\u0159ipojen\u00ED do datab\u00E1ze SQLite (nebo do jin\u00FDch datab\u00E1zov\u00FDch stroj\u016F po zm\u011Bn\u011B p\u0159ipojovac\u00EDho \u0159et\u011Bzce) definici tabulek pro autentizaci u\u017Eivatele a autorizaci p\u0159ihla\u0161ov\u00E1n\u00ED u\u017Eivatele v\u010Detn\u011B registrace, reakce na zapomenut\u00E9 heslo, logov\u00E1n\u00ED p\u0159ihl\u00E1\u0161en\u00ED apod. z\u00E1kladn\u00ED HTML vzhled (layout) aplikace, do jeho\u017E v\u00FD\u0159ezu dopl\u0148uj\u00ED dal\u0161\u00ED HTML v\u00E1mi vytvo\u0159en\u00E9 view (\u0161ablony)Jako jednoduch\u00FD p\u0159\u00EDklad o m\u00E9n\u011B ne\u017E 10 p\u0159\u00EDkazech si tedy m\u016F\u017Eete vytvo\u0159it nejen trivi\u00E1ln\u00ED \"Hello world\", ale prvn\u00ED jednoduchou aplikaci, kter\u00E1 m\u016F\u017Ee nap\u0159.: definovat jednu tabulku a validace jej\u00EDch pol\u00ED (1 p\u0159idan\u00FD p\u0159\u00EDkaz v modelu), p\u0159ipravit formul\u00E1\u0159 pro editaci nebo p\u0159id\u00E1n\u00ED z\u00E1znamu (4 p\u0159\u00EDkazy v kontrol\u00E9ru v\u010Detn\u011B ulo\u017Een\u00ED dat a p\u0159esm\u011Brov\u00E1n\u00ED po n\u011Bm na dal\u0161\u00ED URL), vykreslit formul\u00E1\u0159e v HTML (1 p\u0159\u00EDkaz a \u017E\u00E1dn\u00FD extra HTML k\u00F3d ve view), integrovat formul\u00E1\u0159 do menu (1 p\u0159\u00EDkaz (polo\u017Eka p\u0159\u00EDkazu) v modelu).Webov\u00E1 str\u00E1nka projektu: www.web2py.comPodpora komunity: groups.google.com/forum/?fromgroups#!forum/web2pyInstalace: instalovat Python 2.7 z www.python.org st\u00E1hnout web2py_src.zip z download str\u00E1nky projektu www.web2py.com/init/default/download (odkaz For normal users, Source code) rozbalit zip do poadres\u00E1\u0159e instalace pythonu Lib/site-packages/web2py v okn\u011B konsole (nap\u0159. cmd ve Windows) se p\u0159epnout do adres\u00E1\u0159e Lib/site-packages/web2py a spustit: python web2py (cesta k instalaci pythonu mus\u00ED b\u00FDt p\u0159id\u00E1na do prost\u0159ed\u00ED nebo uv\u00E9st plnou cestu k python v p\u0159\u00EDkazu) v prohl\u00ED\u017Ee\u010Di navigovat na adresu localhost:8000 odkazem na str\u00E1nce p\u0159ej\u00EDt do administra\u010Dn\u00EDho rozhran\u00ED vytvo\u0159it v n\u011Bm jednoduchou aplikaci jmenoaplikace (klonuje aplikaci Welcome) u aplikace zvolit Spravovat/Manage a Upravit/Edit za\u010D\u00EDt zkou\u0161et \u00FApravami db.py (p\u0159idat definici tabulky, jak je nazna\u010Deno dole), default.py (funkce index), default/index.html odzkou\u0161et na localhost:8000/jmenoaplikace/default/index"@cs . .