Použití šablon v baňce

Obsah
Webová aplikace vyžaduje část, kterou uživatel vidí a která se nazývá Pohled nebo zobrazení a skládá se z rozhraní napsaného v HTML to nám umožňuje zobrazovat statická a dynamická data podle cesty, ke které uživatel přistupuje.
Když pracujeme s mikroframeworks jako Baňka, ve výchozím nastavení není nutné zobrazení používat, aby se používaly další prvky, pouze se vrací kód HTML odpovídající můžeme dosáhnout, abychom ukázali konzistentní data.
Problém nastává, když se naše aplikace začne rozrůstat a máme několik pohledů, opakování kódu naplní naši aplikaci prvky, které bychom mohli znovu použít a že ruční provádění prací pro nás představuje větší práci. Abychom se tomuto problému vyhnuli, máme šablony motory, kteří nám pomáhají soubory znovu použít HTML a tím snížit množství kódu navíc ke zvýšení čitelnosti našeho programu.
Jinja2 je modul šablony napsaný zcela v Krajta a byl modelován podle šablony motoru Django, to nám umožňuje umístit části kódu HTML a s vlastním kódem motoru zahrnout štítky, které budou později nahrazeny daty z naší aplikace.
Co dalšího obsahuje?Obsahuje také vlastní funkce, které nám pomáhají formátovat data, která dostáváme, kromě zpracování podmíněností, funkcí data a dalších prvků, které nám pomáhají jednoduchým a expresivním způsobem programovat chování šablony.
V nejnovější verzi Baňka Tento motor je součástí instalace, takže jeho použití je snazší a rychlejší.
Diskutovali jsme o vytvoření pohledu v Baňka bylo to stejně jednoduché jako tisk kódu HTML ve funkci požadované cesty, ale pro ty nové v tomto rámci to může znít velmi matoucí.
V následujícím příkladu se chystáme vytvořit pohled, kde obdržíme parametr a vytiskneme jej ve výsledku, zajímavé je, že tento parametr může být zadán uživatelem, takže pohled je do určitého bodu dynamický, podívejme se kód a poté přejdeme k vysvětlení:
 z baňky import Flaskapp = Flask (__ name __) @ app.route ('/') @ app.route ('/ welcome') @ app.route ('/ welcome/') def welcome (name = None): name = jméno nebo 'Uživatel' návrat '' 'Vítejte!

Toto je náš pohled vytvořený ve Flasku!

'' '% ifname __name__ ==' __main__ ': app.run ()
Zde děláme něco velmi jednoduchého, nejprve importujeme knihovny, které obsahují soubor rámec, pak definujeme tři klíčové cesty, všechny nás zavedou ke stejné funkci zvané Welcome a obdrží parametr, který je volitelný, a pokud není přijat, bude v programu jednoduše ignorován.
Potom ve funkci vytvoříme naši instrukci vrátit se a zde naznačujeme, že a Tětiva obsahující HTML pro výhled. Pokud tento program otestujeme, získáme v prohlížeči přijatelný výsledek, podívejme se:

Mnozí mohou říci, že je to velmi funkční, ale co se stane, když místo zobrazení této prázdné stránky chceme integrovat styly CSS, efekty JavaScriptu nebo jiné věci. Pak by naše HTML vyžadovalo více kódu, a proto by bylo vše příliš komplikované, takže by se naše aplikace dala zvládnout.
Nyní vytvoříme stejný pohled, ale pomocí modulu šablon, který jsme popsali na začátku tutoriálu, abychom dosáhli příkladu, musíme udělat nějaké přípravy, ty musí souviset se strukturou našeho projektu, protože pokud jsme Pokud použijete soubory šablon, je nejlepší je oddělit od aplikace do jiných složek a tím rozdělit naši vizuální vrstvu od vrstvy obchodních pravidel a logické vrstvy.
Když to víme, musíme vytvořit složku pro naše šablony, pro účely konvencí tomu budeme říkat šablony, ale musíme mít také další věci, například musíme mít složku, která bude sloužit jako modul a budeme ji nazývat názvem pohledu, který se chystáme vytvořit, Kromě toho musíme mít nějaké soubory, na dalším obrázku uvidíme kompletní strukturu a poté přejdeme na příslušný kód, aby vše fungovalo.

Obsah souboruNež přejdeme k generování a používání šablony, musíme vidět obsah souborů, díky kterým bude naše aplikace fungovat bez problémů, každý soubor krátce uvidíme, abychom neztráceli spoustu času. Je důležité si uvědomit, že se jedná o navrhovanou strukturu Baňka umožňuje každému vývojáři vytvořit si strukturu, která mu nejlépe vyhovuje podle jeho cíle.
Tento soubor nám umožňuje spouštět aplikaci, odtud její název lze obecně nazvat run.py Také, ale pro účely tohoto kurzu uvedeme název, který je pro španělsky mluvící komunitu srozumitelnější, zde musíme umístit následující kód:
 z flasko import appapp.run (debug = True)

Toto je soubor, který je v kořenovém adresáři aplikace, je nutné umět stanovit, že bude spuštěn a jeho závislosti, v tomto souboru také definujeme, že soubor bude použit views.py z uvítací složky, kterou jsme již viděli, může mít libovolný název, ale views.py Je to konvence, která nám pomůže udržovat přátelskou aplikaci, zde musíme umístit následující:
 z baňky import Flaskapp = Flask (__ name __) import flasko.bienvenido.views

Tento soubor musí být prázdný, protože ho potřebujeme pouze proto, aby existoval Baňka interpretovat, že tato složka je modulem naší aplikace.
Protože máme základní soubory pro naši aplikaci, je na čase vytvořit zobrazení a použít šablonu. První věc, kterou uděláme, je vytvořit náš pohled, který bude velmi podobný předchozímu zobrazení, ale bude vylepšen, proto musíme pracovat v souboru views.py a umístěte následující:
 z baňky import render_template, requestfrom flasko import [email protected] ('/') @ app.route ('/ welcome') def welcome_web (): name = request.args.get ('name', 'User') return render_template ('index.html', name = name)
První věc, kterou uděláme, je import rámce z knihovny, která nám umožňuje zobrazit šablony a knihovnu pro zpracování požadavků prohlížeče.
Poté definujeme trasy, díky nimž se toto zobrazení objeví, v tomto případě je to root / a také při umístění slova Vítejte.
Nakonec definujeme naši funkci Vítejte který přiřadí názvu proměnné parametry získané z požadavku prohlížeče a poté provedeme návrat funkce render_template, to je ten, který zavolá šablonu a předá název proměnné jako parametry, kde také uvedeme název šablony.
Je čas vytvořit šablonu, toto je v podstatě soubor s obsahem HTML a u některých značek, které nám pomohou dát mu dynamiku, je souborem, který je třeba upravit index.html který je ve složce šablony, podívejme se na kód, který použijeme:
 Vítejte {{name}}

Používáme baňku!

Tento kód je jednoduchý, vytváříme vlastní HTML základní a pak tam, kde chceme, aby se generovaný obsah zobrazoval v pohledu, stačí umístit dvojité složené závorky {{}} a uvnitř název parametru to znamená, že při spuštění aplikace je tato hodnota nahrazena požadovaným obsahem. Pokud uvidíme na následujícím obrázku, uvědomíme si, jak je umístěn název, který předáváme jako parametr prostřednictvím adresy URL:

Nejen, že můžeme používat parametry, ale můžeme také vytvářet slovníky Krajta s daty pocházejícími ze zdroje vytrvalosti, jako je Databáze nebo něco podobného a tímto způsobem, aby bylo možné umístit ještě více dat.
Různé šablonyZajímavé na této záležitosti je, že můžeme hrát s různými šablonami pro různé části naší aplikace, což odděluje čistou prezentační vrstvu od toho, co skutečně programujeme, tím, že odstraníme HTML od středu se můžeme rozdělit na dva týmy a pracovat tak správně bez zmatků.
Tím tento tutoriál dokončujeme, naučili jsme se používat šablony v aplikacích vytvořených pomocí Baňka, tento způsob práce nám ušetří úsilí a opakování kódu, zvláště pokud spoléháme na oficiální dokumentaci Jinja2 abyste z modulu šablon získali maximum. Je velmi důležité vytvořit strukturu projektu a oddělit různé typy souborů, protože tímto způsobem budeme udržovat přátelský projekt pro zbytek našeho vývojového týmu nebo v případě, že jej chceme nahrát do kódové sítě, jako je GitHub se podělí o práci odvedenou s komunitou.

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave