Obsah
Jsou chvíle, kdy chceme vyvíjet aplikace, ale nechceme začínat od nuly, protože existuje nekonečno rámců na trhu, nicméně čím úplnější a silnější je rámecČím větší může být vaše stopa a vaše křivka učení. To způsobí, že ztratíme zájem o vývoj naší aplikace, nebo můžeme trávit více času, než je nutné.S ohledem na výše uvedené značný počet tzv mikroframeworks, což jsou pracovní ekosystémy, které mají nezbytné prvky, aby při vývoji naší aplikace nemuseli začínat od nuly, ale jejich velikost je minimální, což nám dává jen to, co je nutné k zahájení, aniž bychom museli zaplavovat naše hlavy spoustou materiálu.
v Krajta takových je hodně mikroframeworksJe tu však jeden, který vyniká díky své skvělé dokumentaci a komunitě Baňka, což nám s několika knihovnami a komponentami umožňuje zahájit vývoj, aniž bychom ztratili ze zřetele škálovatelnost a modularitu.
InstalaceFormální instalace Baňka sotva a zabere několik minut, ale pro maximální užitek musíme nejprve vytvořit pracovní prostředí, proto musíme nainstalovat a konfigurovat virtualenv, což je nástroj, který nám umožňuje mít různá prostředí pod Krajta v našem systému, abychom nemuseli nic globálně instalovat.
Pro instalaci virtualenv prostě musíme splnit následující požadavky:
1- Nainstalujte Python 2.7 nebo vyšší, v závislosti na našem operačním systému bude proces jiný, ale pro většinu distribucí Linux toto je již ve výchozím nastavení nainstalováno. v Okna stačí nainstalovat pomocí stahování, které odpovídá našemu systému.
2- Až budeme mít Krajta, musíme nainstalovat pip, toto je nástroj, který nám umožňuje provést instalaci jednoduchým způsobem a prostřednictvím příkazové konzoly různých balíků do Krajta. v Ubuntu například vložte do příkazové konzoly:
apt-get install python-setuptoolsA pak spustíme:
easy_install pipv Okna Jednoduše musíte najít odpovídající soubor ke stažení setuptools.py a později getpip.py oba soubory musí být spuštěny pomocí Krajta z příkazové konzoly.
3- Konečně můžeme nainstalovat virtualenv při umístění na konzolu pip install virtualenv, což nám dá možnost vytvářet naše virtuální prostředí.
Chcete -li vytvořit virtuální prostředí, musíme jednoduše vytvořit složku, která bude obsahovat náš projekt, a poté do ní umístit příkaz:
virtualenv náš projektKde "náš projekt"Bude název virtuálního prostředí."
Jednou virtualenv vytvořili prostředí, musíme ho aktivovat, proto v závislosti na systému, ve kterém se nacházíme, musíme udělat následující, například v Ubuntu se jednoduše umístíme do svého prostředí a zadáme následující příkaz:
zdrojový koš / aktivovatPokud jsme ve Windows, udělali bychom následující:
Skripty / aktivovatNakonec bychom měli aktivované prostředí, jak vidíme na následujícím obrázku:
Jak můžeme v konzole vizualizovat, název našeho již aktivovaného prostředí se zobrazí v závorkách.
Protože máme splněny všechny předchozí požadavky, nyní, pokud můžeme provést instalaci mikroframework BaňkaK tomu v naší konzole virtuálního prostředí jednoduše napíšeme následující:
pip install baňkaPokud vše proběhlo dobře, získáme něco podobného, co vidíme na následujícím obrázku:
Vidíme, jak nám to nakonec říká, že byla úspěšně nainstalována Baňka kromě jeho závislostí jsme s tímto připraveni začít s vývojem našich aplikací mikroframework.
Nyní se chystáme vytvořit naši první aplikaci, v tomto případě uděláme klasiku "Ahoj světe!" se kterými můžeme porozumět několika zajímavostem práce s Baňka. Budeme potřebovat obyčejný textový editor nebo možná nějaký SDI jakou podporu Krajta, doporučujeme použít Vznešený text, nebo možná Poznámkový blok ++ obě možnosti nám umožňují zvýraznit klíčová slova daného jazyka.
V našem prostředí vytvoříme soubor s názvem app.py a uvnitř toho umístíme následující kód:
z baňky import Flaskapp = Flask (__ name __) @ app.route ('/') def hello_world (): return 'Hello World !!!' if __name__ == '__main__': app.run ()Začneme importem frameworku, proto nejprve uvedeme, že z knihovny baňka importujme třídu Baňka. Potom definujeme, že naše aplikace bude instancí této třídy. Vytváříme a dekoratér @ app.route (/) což bude znamenat, že cesta, která má být definována pro použití níže uvedené funkce, je root.
Další akt vytváříme naši funkci Ahoj světe() a vrátí zprávu ve formě řetězce. Nakonec metodu spustíme app.run () se kterou bude naše aplikace zrušena.
Aby to fungovalo, jednoduše přejdeme do konzoly našeho virtuálního prostředí a napíšeme:
python app.pyNa konzole by se měla zobrazit zpráva podobná následující:
Vidíme, že nám to říká, že aplikace běží 127.0.0.1 v přístavu 5000 vložíme tyto informace do našeho prohlížeče a uvidíme výsledek jako na následujícím obrázku:
Díky tomu jsme vytvořili naši první aplikaci s Baňka a netrvalo nám to pár minut.
Vzhledem k mikro povaze Baňka a také že jeho cílem je nechat nás pracovat způsobem, ve kterém se cítíme nejpohodlněji, zpočátku pro naši aplikaci nevytváří žádnou strukturu složek, takže nám dává svobodu vytvářet naši strukturu způsobem, který považujeme za vhodný.
OmezeníJediným omezením je, že jméno nemůžeme použít flask.py pro naše soubory, protože by to bylo v rozporu s hlavním souborem našeho rámce, vše ostatní je docela flexibilní.
Základní konfigurace doporučených složek se skládá z hlavní složky s názvem projektu, v rámci které budeme mít hlavní soubor, který spouští aplikaci, a několik dalších složek, první z nich je statické soubory jako obrázky a šablony stylů, druhá je složka šablon s názvem šablony, kde budeme mít soubory, které nám pomohou generovat pohledy pomocí HTML pro koncového uživatele aplikace. Podívejme se na následujícím obrázku, jak tato struktura vypadá:
Výchozí Baňka použití jinja2 jako jeho šablonový motor to však může být změněno jiným, ale než se odhodíme jeho používání, můžeme vidět, co nám nabízí.
Jinja2Jedná se o kompletní engine, který nabízí možnost interpretace některých pokynů, aby naše šablony byly dynamickými prvky, které doplňují různé části naší aplikace. Cílem je napsat co nejmenší množství kódu, ale pokrýt co největší počet případů a funkcí .
Syntaxe je velmi podobná modulu šablon z Django, takže pokud jsme pracovali s tímto rámcem, pravděpodobně se budeme cítit velmi pohodlně.
Výchozí Baňka žádné nemá ORM, takže pokud budeme pracovat s Databáze, nebo si postavíme vlastní ORM nebo použijeme ten, který je již v komunitě k dispozici, pokud vezmeme tuto druhou možnost, můžeme zvážit Baňka-SQLAlchymie.
Toto je rozšíření, které umožňuje používat populární SQLAlchemy což nám umožňuje navázat spojení prostřednictvím Krajta s různými motory Databáze, Co MySQL nebo dokonce jiné nerelační motory jako MongoDB.
Myšlenka a ORM je umět dotazovat způsobem, který ne závisí na syntaxi SQL, pokud tedy kdykoli budeme chtít změnit motor Databáze, naše aplikace by neměla procházet žádnými změnami, na rozdíl od toho, pokud píšeme přímo SQL kód, v takovém případě bychom měli příslušně změnit pokyny.
Tím jsme tento tutoriál dokončili, viděli jsme jen malé procento toho, čeho můžeme dosáhnout BaňkaStačí si však uvědomit jeho velký potenciál, zvláště když potřebujeme zahájit projekt rychle a bez velkého zavazadla. Jeho velká popularita je dána skutečností, že díky své modulární a rozšiřitelné struktuře nám umožňuje používat mnoho komponent, které již možná známe z jiného vývoje, a neomezuje nás v práci určitým způsobem, na rozdíl od rámců, jako jsou Django kde máme velmi zvláštní způsob, jak dělat věci, navíc ke všem komponentám, které musí být původně zděděny k vytvoření aplikace.