Utilizarea șabloanelor în Flask

Cuprins
O aplicație web necesită o parte pe care utilizatorul o poate vedea care este numită vedere sau vizualizare și constă dintr-o interfață scrisă în HTML care ne permite să afișăm date statice și dinamice în funcție de calea pe care utilizatorul o accesează.
Când lucrăm cu microframe, cum ar fi Balon, implicit nu este necesar să se afișeze vizualizarea pentru a utiliza elemente suplimentare, returnând doar codul HTML corespunzător putem realiza pentru a arăta date consistente.
Problema apare atunci când aplicația noastră începe să crească și avem mai multe vizualizări, repetarea codului ne umple aplicația cu elemente pe care le-am putea reutiliza și că a face manual reprezintă o lucrare mai mare pentru noi. Pentru a evita această problemă avem motoare șablon, care ne ajută să refolosim fișierele HTML și, astfel, reduceți cantitatea de cod pe lângă creșterea lizibilității programului nostru.
Jinja2 este un motor de șabloane scris integral în Piton și a fost modelat după motorul șablon al Django, acest lucru ne permite să plasăm porțiuni de cod HTML și cu codul propriu al motorului, includeți etichete care vor fi înlocuite ulterior cu date din aplicația noastră.
Ce mai include?De asemenea, include propriile funcții care ne ajută să formatăm datele pe care le primim, în plus față de tratarea condiționalităților, funcțiilor de dată și alte elemente care ne ajută să programăm comportamentul șablonului într-un mod simplu și expresiv.
În cea mai recentă versiune de Balon Acest motor este inclus în instalație, astfel încât utilizarea sa este mai ușoară și mai rapidă.
Am discutat despre crearea unei vederi în Balon a fost la fel de simplu ca imprimarea codului HTML în funcția de cale dorită, totuși pentru cei noi în acest cadru acest lucru poate suna foarte confuz.
În exemplul următor vom crea o vizualizare în care vom primi un parametru și îl vom imprima în rezultat, ceea ce este interesant este că acest parametru poate fi introdus de utilizator, deci vizualizarea este dinamică până la un anumit punct, să vedem codul și apoi vom trece la explicație:
 din flask import Flaskapp = Flask (__ name __) @ app.route ('/') @ app.route ('/ welcome') @ app.route ('/ welcome /') def welcome (name = None): nume = nume sau 'Utilizator' return '' 'Bun venit!

Aceasta este opinia noastră făcută în Flask!

'' '% ifname __name__ ==' __main__ ': app.run ()
Aici ceea ce facem este ceva foarte simplu, mai întâi importăm bibliotecile care conțin cadru, apoi definim trei rute cheie, toate ne conduc la aceeași funcție numită bun venit și primește un parametru care este opțional în cazul în care, dacă nu este primit, va fi pur și simplu ignorat în cadrul programului.
Apoi, în funcție, ne creăm instrucțiunile întoarcere și aici indicăm că a Şir care conține HTML pentru vedere. Dacă testăm acest program, vom obține un rezultat acceptabil în browser, să vedem:

Mulți pot spune că acest lucru este foarte funcțional, dar ce se întâmplă dacă, în loc să afișăm acea pagină goală, dorim să integrăm stiluri CSS, efecte JavaScript sau alte lucruri. Apoi, HTML-ul nostru ar lua mai mult cod și, prin urmare, totul ar fi excesiv de complicat, ceea ce va face ca aplicația noastră să se descurce.
Acum vom crea aceeași vizualizare, dar folosind motorul de șabloane pe care l-am descris la începutul tutorialului, pentru a realiza exemplul trebuie să facem câteva pregătiri, acestea au legătură cu structura proiectului nostru, deoarece dacă suntem pentru a utiliza fișiere șablon, cel mai bine este să le separați de aplicație în alte foldere și astfel să împărțiți stratul nostru vizual de regulile de afaceri și stratul logic.
Știind acest lucru, atunci trebuie să creăm un folder pentru șabloanele noastre, în scopuri convenționale îl vom numi șabloane, totuși trebuie să avem și alte lucruri, de exemplu trebuie să avem un folder care va servi drept modul și îl vom numi cu numele a vederii pe care o vom crea, Pe lângă aceasta trebuie să avem câteva fișiere, în imaginea următoare vom vedea structura completă și apoi vom merge la codul relevant pentru a face totul să funcționeze.

Conținutul fișieruluiÎnainte de a trece la generarea și utilizarea șablonului, trebuie să vedem conținutul fișierelor care vor face ca aplicația noastră să ruleze fără probleme, vom vedea pe scurt fiecare fișier pentru a nu pierde mult timp. Cu toate acestea, este important să rețineți că aceasta este o structură sugerată Balon permite fiecărui dezvoltator să realizeze structura care i se potrivește cel mai bine în funcție de obiectivul său.
Acest fișier este cel care ne permite să rulăm aplicația, de unde și numele său, acesta poate fi numit în general run.py De asemenea, dar în scopul acestui tutorial am pus un nume care este mai ușor de înțeles de comunitatea vorbitoare de limbă spaniolă, aici trebuie să plasăm următorul cod:
 din flasko import appapp.run (depanare = Adevărat)

Acesta este fișierul care se află în rădăcina aplicației, este necesar să se poată stabili că va fi executat și dependențele sale, în acest fișier definim și că fișierul va fi folosit views.py din dosarul de întâmpinare pe care l-am văzut înainte, acesta poate avea orice alt nume decât views.py Este o convenție care ne va ajuta să menținem o aplicație prietenoasă, aici trebuie să plasăm următoarele:
 din flask import Flaskapp = Flask (__ name __) import flasko.bienvenido.views

Acest fișier trebuie să fie gol, deoarece avem nevoie doar ca acesta să existe, astfel încât Balon interpretează că acest folder este un modul al aplicației noastre.
Deoarece avem fișierele de bază pentru aplicația noastră, este timpul să creăm vizualizarea și să folosim șablonul. Primul lucru pe care îl vom face este să ne creăm vizualizarea, aceasta va fi foarte asemănătoare cu vizualizarea anterioară, dar îmbunătățită, pentru aceasta trebuie să lucrăm în fișier views.py și plasați următoarele:
 din flask import render_template, request from flasko import [email protected] ('/') @ app.route ('/ welcome') def welcome_web (): name = request.args.get ('name', 'User') return render_template ('index.html', nume = nume)
Primul lucru pe care îl facem este să importăm din framework biblioteca care ne permite să afișăm șabloanele și o bibliotecă pentru a procesa solicitările browserului.
Apoi definim rutele care vor face să apară această vizualizare, în acest caz este rădăcina / și, de asemenea, atunci când este plasat cuvântul Bine ati venit.
În cele din urmă ne definim funcția Bine ati venit care atribuie numelui variabilei parametrii obținuți din solicitarea browserului și apoi facem o returnare a funcției render_template, acesta este cel care va apela șablonul și va transmite numele variabilei ca parametri, unde indicăm și numele șablonului.
Este timpul să creați șablonul, acesta este practic un fișier cu conținut HTML și cu câteva etichete care ne vor ajuta să-i dăm dinamism, fișierul de modificat este index.html care se află în dosar șabloane, să vedem codul pe care îl vom folosi:
 Bun venit {{name}}

Folosim Flask!

Acest cod este simplu, noi îl facem HTML de bază și apoi unde dorim ca conținutul generat să apară în vizualizare, așezăm doar paranteze {{}} iar în interior, numele parametrului, aceasta înseamnă că atunci când aplicația este executată, această valoare este înlocuită cu conținutul dorit. Dacă vedem în următoarea imagine, vom realiza cum este plasat numele pe care îl trecem ca parametru prin adresa URL:

Nu numai că putem folosi parametri, dar putem crea și dicționare Piton cu date care provin dintr-o sursă de persistență precum a Bază de date sau ceva similar și în acest fel pentru a putea plasa și mai multe date.
Șabloane diferiteInteresant despre această chestiune este că putem juca cu diferite șabloane pentru diferite părți ale aplicației noastre, acest lucru separă stratul de prezentare pur de ceea ce programăm de fapt, eliminând HTML din mijloc ne putem separa în două echipe și astfel putem funcționa corect fără confuzie.
Cu aceasta terminăm acest tutorial, am învățat să folosim șabloanele în aplicațiile realizate cu Balon, acest mod de lucru ne va economisi efort și repetarea codului, mai ales dacă ne bazăm pe documentația oficială a Jinja2 pentru a profita la maximum de motorul de șabloane. Este foarte important să stabilim o structură de proiect și să separăm diferitele tipuri de fișiere, deoarece în acest fel vom menține un proiect prietenos pentru restul echipei noastre de dezvoltare sau în cazul în care dorim să-l încărcăm într-o rețea de cod, cum ar fi GitHub pentru a împărtăși munca depusă cu comunitatea.
wave wave wave wave wave