Django - Rezolvarea vizualizărilor și a adreselor URL

Cuprins
Vizualizările și adresele URL nu sunt apelate direct de codul nostru, acest lucru se datorează naturii dinamice a aplicațiilor, motivul este că, cu cât este mai generic formularul, este posibil să îl utilizați în multe alte cazuri.
Deci, modul corect este să folosim diferitele funcții care ne permit să rezolvăm rutele fie de la o vizualizare la o adresă URL, fie de la o adresă URL la o vizualizare, pentru aceasta avem câteva instrumente numite decoratori.
Rezolvarea de la URL la Vizualizări
vederi, prin practicile recomandate nu sunt apelate direct de codul nostru, ci mai degrabă sunt invocate prin apeluri în adresa URL, aceste apeluri sunt procesate și deservite de sistemul de expediere al Django.
Unul dintre aspectele cheie în acest moment este că Django folosește expresii regulate pentru a realiza construcția URL-ului care va apela vizualizarea noastră, datorită acestui lucru putem trece diferiți parametri și astfel putem adăuga funcționalități vizualizărilor noastre.
A model url conține următoarele aspecte:
  • Expresia regulată care ne permite să capturăm URL-ul pe care l-am plasat ca model.
  • O referință la vizualizarea care va fi numită.
  • Un dicționar de argumente care va fi transmis de fiecare dată când este apelată vizualizarea.
  • Un nume care va fi folosit ca referință pentru a putea efectua apeluri inversate ale vizualizării.
Rezolvarea vizualizărilor la adrese URL
În aplicațiile noastre de multe ori trebuie să apelăm alte vizualizări sau resurse prin URL, cu toate acestea copierea rigidă sau codarea hard a URL-urilor respective nu este o practică bună, deoarece dacă, de exemplu, există o schimbare în programul nostru, imaginați-vă că trebuie să schimbați 20 sau 30 de referințe la o adresă URL, pentru aceasta putem folosi diferite metode pentru ca aplicația noastră să caute adresa URL fără a fi nevoie să o copiem, una dintre aceste metode este să folosim Decorator permanent pe care o putem vedea în punctul următor.
Decoratorul Permalink
În cadrul fiecărui model avem acces la metodă get_absolute_url () care ne permite să accesăm direct o pagină de detalii a unui obiect fără a fi nevoie să știm cum ar trebui construită adresa URL, cu toate acestea această metodă nu ne permite să transmitem argumente, deoarece este doar un link returnat.
Pentru a extinde funcționalitatea, avem posibilitatea de a utiliza și a returna parametrii ca și cum ar fi din metoda get_absolute_url ().
Pentru a face acest lucru, trebuie să urmați următoarea structură:
  • prima valoare este numele vizualizării care trebuie apelată, dacă vizualizarea are un nume, trebuie folosită, altfel putem folosi calea de import de vedere. Această valoare este întotdeauna necesară.
  • a doua valoare Este un tuplu de argumente poziționale care ar trebui aplicate vizualizării, dacă nu, putem lăsa acest parametru necompletat.
  • a treia valoare este un dicționar care unește argumente cu valorile lor respective, aceste valori trebuie transmise vizualizării, în cazul în care vizualizarea nu primește nimic, putem exclude această valoare din apel.
Să vedem în continuare cum traducem acest lucru într-un cod în Django, pentru aceasta vom include utilizarea decorator într-un model:

După cum vedem în codul din imagine, numim vizualizare articol_bibliotecă detaliu, a doua valoare o trecem goală deoarece nu este necesară și în a treia valoare indicăm că obiect_id trebuie legat de auto.id adică la id-ul modelului în sine, apoi în ultima linie folosim decorator.V-a plăcut și ați ajutat acest tutorial?Puteți recompensa autorul apăsând acest buton pentru a-i oferi un punct pozitiv

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave