Šablonų naudojimas kolboje

Turinys
Žiniatinklio programai reikalinga dalis, kurią vartotojas gali pamatyti, kuri vadinama vaizdas arba vaizdas ir susideda iš sąsajos, parašytos HTML leidžia mums rodyti statinius ir dinaminius duomenis pagal kelią, kuriuo naudotojas pasiekia.
Kai mes dirbame su tokiais mikro rėmais kaip Kolba, pagal numatytuosius nustatymus nebūtina rodyti rodinio, kad būtų naudojami papildomi elementai, tik grąžinamas kodas HTML atitinkamai galime pasiekti nuoseklius duomenis.
Problema iškyla, kai mūsų programa pradeda augti ir turime keletą nuomonių, kodo kartojimas užpildo mūsų programą elementais, kuriuos galėtume pakartotinai panaudoti ir kad tai padaryti rankiniu būdu mums yra didesnis darbas. Norėdami išvengti šios problemos, turime šablonų varikliai, kurie padeda mums pakartotinai naudoti failus HTML ir taip sumažinkite kodo kiekį, be to, padidinsite mūsų programos skaitomumą.
Jinja2 yra šablono variklis, visiškai parašytas Python ir buvo sukurtas pagal šablono variklį Django, tai leidžia mums įdėti kodo dalis HTML ir su variklio kodu įtraukite etiketes, kurios vėliau bus pakeistos mūsų programos duomenimis.
Ką dar ji apima?Ji taip pat apima savo funkcijas, padedančias mums suformatuoti gautus duomenis, be to, kad tvarkome sąlygines sąlygas, datos funkcijas ir kitus elementus, kurie padeda mums lengvai ir išraiškingai užprogramuoti šablono elgesį.
Naujausioje versijoje Kolba Šis variklis yra įtrauktas į įrenginį, todėl jį lengviau ir greičiau naudoti.
Mes diskutavome, kaip sukurti vaizdą Kolba tai buvo taip paprasta, kaip atspausdinti kodą HTML norimo kelio funkcijoje, tačiau pradedantiesiems šioje sistemoje tai gali pasirodyti labai painu.
Šiame pavyzdyje mes sukursime vaizdą, kuriame gausime parametrą ir atspausdinsime jį rezultate, įdomu tai, kad šį parametrą gali įvesti vartotojas, todėl vaizdas yra dinamiškas iki tam tikro taško, pažiūrėkime kodą ir tada pereisime prie paaiškinimo:
 iš kolbos importo Flaskapp = Kolba (__ vardas __) @ app.route ('/') @ app.route ('/ welcome') @ app.route ('/ welcome/') def welcome (vardas = Nėra): vardas = vardas arba 'Vartotojas' grįžti '' 'Sveiki!

Tai mūsų požiūris į kolbą!

'' '% ifname __name__ ==' __main__ ': app.run ()
Čia mes darome labai paprastą dalyką, pirmiausia importuojame bibliotekas, kuriose yra sistema, tada mes apibrėžiame tris pagrindinius maršrutus, kurie visi mus veda prie tos pačios funkcijos, vadinamos „welcome“, ir gauna parametrą, kuris yra neprivalomas, o jei jis nebus gautas, jis bus tiesiog ignoruojamas programoje.
Tada funkcijoje sukuriame savo instrukciją grįžti ir čia mes nurodome, kad a Styga kuriame yra HTML už vaizdą. Jei išbandysime šią programą, naršyklėje gausime priimtiną rezultatą, pažiūrėkime:

Daugelis gali pasakyti, kad tai labai funkcionalu, bet kas atsitiks, jei vietoj to tuščio puslapio rodymo norime integruoti CSS stilius, „JavaScript“ efektus ar kitus dalykus. Tada mūsų HTML užimtų daugiau kodo, todėl viskas būtų pernelyg sudėtinga, todėl mūsų programa būtų pragaras.
Dabar mes sukursime tą patį vaizdą, bet naudodami šablono variklį, kurį aprašėme pamokos pradžioje, kad pasiektume pavyzdį, turime atlikti tam tikrus pasiruošimus, tai susiję su mūsų projekto struktūra, nes jei mes Jei ketinate naudoti šablonų failus, geriausia juos atskirti nuo programos į kitus aplankus ir taip atskirti vaizdinį sluoksnį nuo verslo taisyklių ir logikos sluoksnio.
Žinodami tai, turime sukurti savo šablonų aplanką, konvencijos tikslais jį vadinsime šablonais, tačiau turime turėti ir kitų dalykų, pavyzdžiui, turime turėti aplanką, kuris tarnaus kaip modulis, ir vadinsime jį tokiu pavadinimu požiūrio, kurį ketiname sukurti, be to, turime turėti keletą failų, kitame paveikslėlyje pamatysime visą struktūrą ir tada eisime į atitinkamą kodą, kad viskas veiktų.

Failo turinysPrieš pereidami prie šablono kūrimo ir naudojimo, turime pamatyti failų turinį, dėl kurio mūsų programa veiks be problemų, trumpai pamatysime kiekvieną failą, kad nepraleistume daug laiko. Tačiau svarbu pažymėti, kad tai yra siūloma struktūra Kolba leidžia kiekvienam kūrėjui sukurti struktūrą, kuri jam labiausiai tinka pagal jo tikslą.
Šis failas leidžia mums paleisti programą, todėl jos pavadinimas paprastai gali būti vadinamas paleisti.py Be to, tačiau šioje pamokoje mes įtraukėme pavadinimą, kuris yra labiau suprantamas ispanakalbių bendruomenei, čia turime įvesti šį kodą:
 iš „flasko import“ appapp.run (derinimas = tiesa)

Tai yra failas, esantis programos šaknyje, būtina sugebėti nustatyti, kad ji bus vykdoma, ir jos priklausomybes, šiame faile taip pat apibrėžiame, kad failas bus naudojamas peržiūros.py Sveikinimo aplanko, kurį matėme anksčiau, pavadinimas gali būti bet koks, išskyrus peržiūros.py Tai susitarimas, kuris padės mums išlaikyti draugišką taikymą, čia turime pateikti šiuos dalykus:
 iš kolbos importo Flaskapp = Kolba (__ vardas __) importuoti flasko.bienvenido.views

Šis failas turi būti tuščias, nes mums jo reikia tik tam, kad jis egzistuotų Kolba suprasti, kad šis aplankas yra mūsų programos modulis.
Kadangi turime pagrindinius savo programos failus, laikas sukurti rodinį ir naudoti šabloną. Pirmas dalykas, kurį mes padarysime, yra sukurti savo vaizdą, jis bus labai panašus į ankstesnį, bet patobulintas, todėl turime dirbti su failu peržiūros.py ir įdėkite šiuos elementus:
 iš kolbos importas render_template, prašymas iš kolbos importas [email protected] ('/') @ app.route ('/ welcome') def welcome_web (): name = request.args.get ('name', 'User') return render_template ('index.html', vardas = vardas)
Pirmas dalykas, kurį mes darome, yra importuoti biblioteką iš sistemos, leidžiančios parodyti šablonus ir biblioteką, kad būtų galima apdoroti naršyklės užklausas.
Tada mes apibrėžiame maršrutus, dėl kurių šis vaizdas bus rodomas, šiuo atveju tai yra šaknis / ir kai žodis dedamas Sveiki.
Galiausiai mes apibrėžiame savo funkciją Sveiki kuris kintamojo pavadinimui priskiria parametrus, gautus iš naršyklės užklausos, ir tada mes grąžiname funkciją render_template, tai yra tas, kuris iškvies šabloną ir perduos kintamojo pavadinimą kaip parametrus, kur taip pat nurodysime šablono pavadinimą.
Atėjo laikas sukurti šabloną, tai iš esmės yra failas su turiniu HTML ir su tam tikromis žymomis, kurios padės mums suteikti jai dinamiškumo, failas, kurį reikia keisti, yra index.html kuris yra aplanke šablonus, pažiūrėkime kodą, kurį naudosime:
 Sveiki, {{name}}

Mes naudojame kolbą!

Šis kodas yra paprastas, mes padarome savo HTML ir tada, kai norime, kad sukurtas turinys būtų rodomas rodinyje, mes tiesiog įdedame dvigubus skliaustus {{}} o viduje - parametro pavadinimas, tai reiškia, kad vykdant programą ši vertė pakeičiama norimu turiniu. Jei matysime šiame paveikslėlyje, suprasime, kaip pateikiamas pavadinimas, kurį perduodame kaip parametrą per URL:

Galime ne tik naudoti parametrus, bet ir kurti žodynus Python su duomenimis, gautais iš patvarumo šaltinio, pvz Duomenų bazė ar kažkas panašaus ir tokiu būdu, kad būtų galima pateikti dar daugiau duomenų.
Skirtingi šablonaiĮdomus dalykas šiuo klausimu yra tas, kad mes galime žaisti su skirtingais šablonais skirtingoms mūsų programos dalims, tai atskiria gryną pateikimo sluoksnį nuo to, ką mes iš tikrųjų programuojame, pašalindami HTML nuo vidurio galime išsiskirti į dvi komandas ir taip tinkamai dirbti be painiavos.
Baigę šį vadovėlį, išmokome naudoti šablonus programose, sukurtose naudojant Kolba, toks darbo būdas sutaupys mūsų pastangų ir kodo kartojimo, ypač jei pasikliausime oficialiais dokumentais Jinja2 kad išnaudotumėte visas šablono variklio galimybes. Labai svarbu sukurti projekto struktūrą ir atskirti skirtingų tipų failus, nes tokiu būdu palaikysime draugišką projektą likusiai mūsų kūrimo komandai arba tuo atveju, jei norime jį įkelti į kodų tinklą, pvz. „GitHub“, norėdamas pasidalyti bendruomene atliktu darbu.
wave wave wave wave wave