Sadržaj
Web aplikacija zahtijeva dio koji korisnik može vidjeti koji se naziva pogled ili pogled i sastoji se od sučelja napisanog na HTML koji nam omogućuje prikazivanje statičkih i dinamičkih podataka prema putu kojem korisnik pristupa.Kada radimo s mikrookvirima poput Boca, prema zadanim postavkama nije potrebno prikazati prikaz za korištenje dodatnih elemenata, samo se vraća kôd HTML odgovarajuće možemo postići kako bismo prikazali dosljedne podatke.
Problem nastaje kada naša aplikacija počne rasti i imamo nekoliko pogleda, ponavljanje koda ispunjava našu aplikaciju elementima koje bismo mogli ponovno upotrijebiti i da nam to ručno predstavlja veći posao. Kako bismo izbjegli ovaj problem, imamo predložaka motora, koji nam pomažu u ponovnoj upotrebi datoteka HTML i na taj način smanjiti količinu koda uz povećanje čitljivosti našeg programa.
Jinja2 je predložak motor napisan u potpunosti Piton a modelirano je prema predlošku motora od Django, to nam omogućuje postavljanje dijelova koda HTML i s vlastitim kodom motora, uključuju naljepnice koje će kasnije biti zamijenjene podacima iz naše aplikacije.
Što još uključuje?Također uključuje vlastite funkcije koje nam pomažu u oblikovanju podataka koje primamo, uz rukovanje uvjetima, funkcijama datuma i drugim elementima koji nam pomažu programirati ponašanje predloška na jednostavan i izražajan način.
U najnovijoj verziji Boca Ovaj motor je uključen u instalaciju pa je njegova upotreba lakša i brža.
Raspravljali smo o stvaranju pogleda u Boca bilo je jednostavno poput ispisa koda HTML u željenoj funkciji putanje, međutim za one koji su tek počeli koristiti ovaj okvir ovo može zvučati vrlo zbunjujuće.
U sljedećem primjeru ćemo stvoriti prikaz u kojem ćemo primiti parametar i ispisati ga u rezultatu, zanimljivo je da ovaj parametar može unijeti korisnik, pa je pogled dinamičan do određene točke, da vidimo kod, a zatim ćemo prijeći na objašnjenje:
from flask import Flaskapp = Flask (__ name __) @ app.route ('/') @ app.route ('/ welcome') @ app.route ('/ welcome/') def welcome (name = None): name = ime ili 'korisnik' return '' 'Dobro došli!Ovdje radimo nešto vrlo jednostavno, prvo uvozimo knjižnice koje sadrže okvir, tada definiramo tri ključne rute, sve nas vode do iste funkcije koja se naziva dobrodošla i prima parametar koji nije obavezan, a ako se ne primi, jednostavno će se zanemariti unutar programa.Ovo je naš pogled izrađen u Flasku!
'' '% ifname __name__ ==' __main__ ': app.run ()
Zatim u funkciji kreiramo našu uputu povratak i ovdje ukazujemo da je a Niz koji sadrži HTML za pogled. Ako isprobamo ovaj program, dobit ćemo prihvatljiv rezultat u pregledniku, da vidimo:
Mnogi bi mogli reći da je ovo vrlo funkcionalno, ali što se događa ako umjesto prikazivanja te prazne stranice želimo integrirati CSS stilove, JavaScript efekte ili druge stvari. Tada bi naš HTML uzeo više koda i stoga bi sve bilo previše komplicirano, što bi našu aplikaciju učinilo paklenom za rukovanje.
Sada ćemo stvoriti isti pogled, ali koristeći predložak koji smo opisali na početku vodiča, da bismo postigli primjer, moramo obaviti neke pripreme, to ima veze sa strukturom našeg projekta, jer ako smo Za korištenje datoteka predložaka najbolje ih je odvojiti od aplikacije u druge mape i na taj način odvojiti naš vizualni sloj od poslovnih pravila i logičkog sloja.
Znajući to, tada moramo stvoriti mapu za naše predloške, zbog konvencije ćemo je nazvati predlošci, međutim moramo imati i druge stvari, na primjer moramo imati mapu koja će poslužiti kao modul i nazvat ćemo je s imenom gledišta koje ćemo stvoriti. Osim što moramo imati neke datoteke, na sljedećoj slici vidjet ćemo potpunu strukturu, a zatim ćemo otići do odgovarajućeg koda kako bi sve funkcioniralo.
Sadržaj datotekePrije nego što pređemo na generiranje i korištenje predloška, moramo vidjeti sadržaj datoteka zbog kojih će se naša aplikacija bez problema pokrenuti, kratko ćemo vidjeti svaku datoteku kako ne bismo gubili puno vremena. Važno je napomenuti da je ovo ipak predložena struktura Boca omogućuje svakom razvojnom programeru da napravi strukturu koja mu najviše odgovara prema njegovom cilju.
Ova datoteka je ta koja nam omogućuje pokretanje aplikacije, pa otuda i njezin naziv, općenito se može pozvati run.py Također, ali za potrebe ovog vodiča stavili smo ime koje je razumljivije zajednici koja govori španjolski, ovdje moramo postaviti sljedeći kôd:
from flasko import appapp.run (debug = True)
Ovo je datoteka koja se nalazi u korijenu aplikacije, potrebno je moći utvrditi da će se izvršiti i njene ovisnosti, u ovoj datoteci također definiramo da će se datoteka koristiti views.py mape dobrodošlice koju smo već vidjeli, može imati bilo koji naziv osim views.py To je konvencija koja će nam pomoći u održavanju prijateljske aplikacije, ovdje moramo postaviti sljedeće:
from flask import Flaskapp = Boca (__ naziv __) import flasko.bienvenido.views
Ova datoteka mora biti prazna jer nam je potrebna samo za postojanje Boca tumačiti da je ova mapa modul naše aplikacije.
Budući da imamo osnovne datoteke za našu aplikaciju, vrijeme je za stvaranje prikaza i korištenje predloška. Prvo što ćemo učiniti je stvoriti naš prikaz, to će biti vrlo slično prethodnom prikazu, ali poboljšano, za to moramo raditi u datoteci views.py i postavite sljedeće:
iz flask 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 = ime)Prvo što radimo je da iz okvira uvozimo knjižnicu koja nam omogućuje prikazivanje predložaka i biblioteku za obradu zahtjeva preglednika.
Zatim definiramo rute zbog kojih će se prikazati ovaj prikaz, u ovom slučaju to je korijen /, a također i kada se riječ postavi Dobrodošli.
Na kraju definiramo svoju funkciju Dobrodošli koji imenu varijable dodjeljuje parametre dobivene iz zahtjeva preglednika, a zatim vraćamo funkciju render_template, ovo je onaj koji će pozvati predložak i proslijediti naziv varijable kao parametre, gdje također označavamo ime predloška.
Vrijeme je za stvaranje predloška, ovo je u osnovi datoteka sa sadržajem HTML a s nekim oznakama koje će nam pomoći da mu damo dinamiku, datoteka za izmjenu je index.html koji se nalazi u mapi predloške, da vidimo kod koji ćemo koristiti:
Dobro došli {{name}}Ovaj kôd je jednostavan, mi ga stvaramo HTML basic i onda gdje želimo da se generirani sadržaj pojavi u prikazu, samo stavljamo dvostruke zagrade {{}} a unutra naziv parametra, to znači da se prilikom izvođenja aplikacije ta vrijednost zamjenjuje sa sadržajem koji želimo. Ako vidimo na sljedećoj slici shvatit ćemo kako se postavlja naziv koji kao parametar prosljeđujemo kroz URL:Koristimo Flask!
Ne samo da možemo koristiti parametre, već možemo i stvarati rječnike Piton s podacima koji dolaze iz postojanog izvora poput a Baza podataka ili nešto slično i na taj način moći postaviti još više podataka.
Različiti predlošciZanimljivost ove stvari je da se možemo igrati s različitim predlošcima za različite dijelove naše aplikacije, čime se čisti sloj prezentacije odvaja od onoga što zapravo programiramo uklanjanjem HTML od sredine se možemo odvojiti u dva tima i tako ispravno raditi bez zabune.
Ovim smo završili ovaj vodič, naučili smo koristiti predloške u aplikacijama napravljenim s Boca, ovakav način rada uštedjet će nam trud i ponavljanje koda, osobito ako se oslanjamo na službenu dokumentaciju Jinja2 kako biste najbolje iskoristili motor predložaka. Vrlo je važno uspostaviti projektnu strukturu i odvojiti različite vrste datoteka, jer ćemo na taj način održati prijateljski projekt za ostatak našeg razvojnog tima ili u slučaju da ga želimo prenijeti na kodnu mrežu, kao što je GitHub za dijeljenje obavljenog posla sa zajednicom.