Django - Løse visninger og nettadresser

Innholdsfortegnelse
Visningene og nettadressene kalles ikke direkte av koden vår, dette skyldes applikasjoners dynamiske natur, årsaken er at jo mer generisk skjemaet er, det er mulig å bruke det i mange flere tilfeller.
Så den riktige måten er å bruke de forskjellige funksjonene som lar oss løse rutene enten fra en visning til en URL eller fra en URL til en visning, for dette har vi noen verktøy kalt dekoratører.
Løser fra URL til Views
De visninger, av anbefalt praksis kalles ikke direkte av koden vår, men heller de påkalles gjennom anrop i URL -en, blir disse samtalene behandlet og betjent av utsendelsessystemet til Django.
Et av de viktigste aspektene på dette tidspunktet er det Django bruker vanlige uttrykk for å lage konstruksjonen av URL -adressen som vil kalle vårt syn, takket være dette kan vi passere forskjellige parametere og dermed legge funksjonalitet til våre synspunkter.
EN url -mønster inneholder følgende aspekter:
  • Det vanlige uttrykket som lar oss fange nettadressen vi har plassert som et mønster.
  • En referanse til utsikten som vil bli kalt.
  • En ordbok med argumenter som sendes hver gang visningen kalles.
  • Et navn som vil bli brukt som referanse for å kunne foreta reversering av visningen.
Løser visninger til nettadresser
I våre applikasjoner må vi mange ganger ringe andre visninger eller ressurser via URL, men det er ikke en god praksis å kopiere eller hardkodere at URL -er er god praksis, siden hvis det for eksempel er en endring i programmet vårt, tenk deg å måtte endre 20 eller 30 referanser til en URL, for dette kan vi bruke forskjellige metoder for å få applikasjonen vår til å lete etter URL -adressen uten å måtte kopiere den. En av disse metodene er å bruke Permalink dekoratør som vi kan se i neste punkt.
Permalink -dekoratøren
Innen hver modell har vi tilgang til metoden get_absolute_url () som lar oss få tilgang til en detaljside for et objekt direkte uten å måtte vite hvordan URL -en skal konstrueres, men denne metoden tillater oss ikke å sende argumenter siden det bare er en returnert lenke.
For å utvide funksjonaliteten har vi muligheten til å bruke og returnere parametere som om de var fra metoden get_absolute_url ().
For å gjøre dette må du følge følgende struktur:
  • De første verdi er navnet på visningen som skal kalles, hvis utsikten har et navn må den brukes, ellers kan vi bruke importsti av synet. Denne verdien kreves alltid.
  • De andre verdi Det er en tuppel av posisjonsargumenter som bør brukes på visningen, hvis ikke, kan vi la denne parameteren stå tom.
  • De tredje verdi det er en ordbok som kombinerer argumenter med sine respektive verdier, disse verdiene må overføres til visningen, hvis utsikten ikke mottar noe, kan vi ekskludere denne verdien fra samtalen.
La oss se hvordan vi oversetter dette til en kode i Django, for dette skal vi inkludere bruk av dekoratør i en modell:

Som vi ser i koden på bildet, kaller vi visningen library_article detalj, den andre verdien sender vi den tom siden den ikke er nødvendig, og i den tredje verdien angir vi at object_id må knyttes til self.id det vil si til ID -en til selve modellen, så i den siste linjen bruker vi dekoratør.Likte og hjalp du denne opplæringen?Du kan belønne forfatteren ved å trykke på denne knappen for å gi ham et positivt poeng

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave