Django - Rješavanje prikaza i URL -ova

Sadržaj
Poglede i URL -ove naš kôd ne poziva izravno, to je zbog dinamičke prirode aplikacija, razlog je taj što je obrazac općenitiji i moguće ga je koristiti u mnogo više slučajeva.
Dakle, ispravan način je korištenje različitih funkcija koje nam omogućuju rješavanje ruta bilo s pogleda na URL ili s URL -a u pogled, za to imamo neke alate tzv. dekorateri.
Rješavanje s URL -a u Views
The pogleda, preporučenim praksama ne pozivaju se izravno našim kodom, već prije pozivaju se pozivima u URL -u, te pozive obrađuje i opslužuje dispečerski sustav Django.
Jedan od ključnih aspekata u ovom trenutku je taj Django koristi regularne izraze za izradu URL -a koji će pozvati naš pogled, zahvaljujući tome možemo proslijediti različite parametre i tako dodati funkcionalnosti našim pogledima.
A url uzorak sadrži sljedeće aspekte:
  • Regularni izraz koji nam omogućuje snimanje URL -a koji smo postavili kao uzorak.
  • Referenca na pogled koji će se pozvati.
  • Rječnik argumenata koji će se prosljeđivati ​​svaki put kada se pogled pozove.
  • Naziv koji će se koristiti kao referenca za upućivanje obrnutih poziva prikaza.
Rješavanje pogleda na URL -ove
Unutar naših aplikacija mnogo puta moramo pozivati ​​druge prikaze ili resurse putem URL -a, međutim strogo kopiranje ili tvrdo kodiranje navedenih URL -ova nije dobra praksa, jer ako, na primjer, dođe do promjene u našem programu, zamislite da morate promijeniti 20 ili 30 referenci na URL, za to možemo upotrijebiti različite metode kako bismo natjerali našu aplikaciju da traži URL bez potrebe za kopiranjem. Jedna od ovih metoda je korištenje Dekorator za stalne veze što možemo vidjeti u sljedećoj točki.
Dekorator Permalink
Unutar svakog modela imamo pristup metodi get_absolute_url () koji nam omogućuje izravni pristup stranici s pojedinostima objekta, a da ne moramo znati kako URL treba biti konstruiran, međutim ova metoda ne dopušta nam prosljeđivanje argumenata budući da je to samo vraćena veza.
Kako bismo proširili funkcionalnost, imamo mogućnost korištenja i vraćanja parametara kao da su iz metode get_absolute_url ().
Da biste to učinili, morate slijediti sljedeću strukturu:
  • The prva vrijednost je naziv prikaza koji će se pozvati, ako pogled ima naziv mora se koristiti, u protivnom možemo koristiti put uvoza vida. Ova je vrijednost uvijek potrebna.
  • The druga vrijednost To je niz pozicijskih argumenata koje treba primijeniti na prikaz, ako ne, ovaj parametar možemo ostaviti praznim.
  • The treća vrijednost to je rječnik koji spaja argumente s njihovim vrijednostima, te se vrijednosti moraju proslijediti pogledu, u slučaju da pogled ne primi ništa, možemo isključiti ovu vrijednost iz poziva.
Pogledajmo dalje kako ćemo to prevesti u kod u Django, za ovo ćemo uključiti upotrebu dekorater u modelu:

Kao što vidimo u kodu na slici, nazivamo prikaz biblioteka_članka pojedinosti, drugu vrijednost prosljeđujemo praznu jer nije potrebna, a u treću vrijednost označavamo da je object_id mora biti vezan za self.id odnosno na id samog modela, tada se u zadnjem retku koristimo dekorater.Je li vam se svidio i pomogao ovaj vodič?Autor možete nagraditi pritiskom na ovaj gumb kako biste mu dali pozitivan bod

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave