Django - Lösa vyer och webbadresser

Innehållsförteckning
Vyerna och webbadresserna kallas inte direkt av vår kod, detta beror på applikationernas dynamiska karaktär, anledningen är att ju mer generisk formen är, det är möjligt att använda den i många fler fall.
Så det rätta sättet är att använda de olika funktionerna som gör att vi kan lösa rutterna antingen från en vy till en URL eller från en URL till en vy, för detta har vi några verktyg som heter dekoratörer.
Resolving from URL to Views
De vyer, av rekommenderade metoder kallas inte direkt av vår kod, utan snarare de åberopas genom samtal i URL: en, dessa samtal behandlas och servas av avsändningssystemet av Django.
En av de viktigaste aspekterna vid denna tidpunkt är det Django använder reguljära uttryck för att göra konstruktionen av URL: en som kommer att kalla vår uppfattning, tack vare detta kan vi skicka olika parametrar och därmed lägga till funktioner i våra åsikter.
A url -mönster innehåller följande aspekter:
  • Det reguljära uttrycket som gör att vi kan fånga webbadressen som vi har placerat som ett mönster.
  • En hänvisning till vyn som kommer att kallas.
  • En ordlista med argument som skickas varje gång vyn anropas.
  • Ett namn som kommer att användas som referens för att kunna göra omvända samtal i vyn.
Lösa vyer till webbadresser
Inom våra applikationer måste vi många gånger ringa till andra visningar eller resurser via URL, men det är inte bra att kopiera eller hårdkoda dessa webbadresser, eftersom om det till exempel sker en förändring i vårt program, tänk dig att behöva ändra 20 eller 30 referenser till en URL, för detta kan vi använda olika metoder för att få vår applikation att leta efter URL: en utan att behöva kopiera den, en av dessa metoder är att använda Permalink dekoratör som vi kan se i nästa punkt.
Permalink -dekoratören
Inom varje modell har vi tillgång till metoden get_absolute_url () som gör att vi kan komma åt en detaljsida för ett objekt direkt utan att behöva veta hur URL: en ska konstrueras, men den här metoden tillåter oss inte att skicka argument eftersom det bara är en returnerad länk.
För att utöka funktionaliteten har vi möjlighet att använda och returnera parametrar som om de vore från metoden get_absolute_url ().
För att göra detta måste du följa följande struktur:
  • De första värdet är namnet på vyn som ska kallas, om vyn har ett namn måste den användas, annars kan vi använda importväg av syn. Detta värde krävs alltid.
  • De andra värdet Det är en tuppel av positionsargument som bör tillämpas på vyn, om inte kan vi lämna denna parameter tom.
  • De tredje värdet det är en ordlista som förenar argument med sina respektive värden, dessa värden måste skickas till vyn, om vyn inte får något kan vi utesluta detta värde från samtalet.
Låt oss se hur vi översätter detta till en kod i Django, för detta kommer vi att inkludera användningen av dekoratör i en modell:

Som vi ser i koden i bilden kallar vi vyn library_article detalj, det andra värdet skickar vi det tomt eftersom det inte är nödvändigt och i det tredje värdet anger vi att objekt_id måste knytas till self.id det vill säga till själva modellens id, då använder vi i den sista raden dekoratör.Gillade du och hjälpte denna handledning?Du kan belöna författaren genom att trycka på den här knappen för att ge honom en positiv poäng

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave