Django - Weergaven en URL's oplossen

Inhoudsopgave
De views en URL's worden niet direct door onze code aangeroepen, dit komt door het dynamische karakter van de applicaties, de reden is dat hoe generieker het formulier is, het in veel meer gevallen mogelijk is om het te gebruiken.
Dus de juiste manier is om de verschillende functies te gebruiken waarmee we de routes kunnen oplossen, hetzij van een weergave naar een URL of van een URL naar een weergave, hiervoor hebben we enkele tools genaamd binnenhuisarchitecten.
Oplossen van URL naar Views
De keer bekeken, door aanbevolen praktijken worden niet rechtstreeks door onze code aangeroepen, maar eerder ze worden aangeroepen via oproepen in de URL, deze oproepen worden verwerkt en bediend door het dispatchingsysteem van Django.
Een van de belangrijkste aspecten op dit punt is dat: Django gebruikt reguliere expressies om de constructie te maken van de URL die onze weergave zal oproepen, hierdoor kunnen we verschillende parameters doorgeven en zo functionaliteiten aan onze weergaven toevoegen.
EEN URL-patroon bevat de volgende aspecten:
  • De reguliere expressie waarmee we de URL kunnen vastleggen die we als patroon hebben geplaatst.
  • Een verwijzing naar de weergave die zal worden aangeroepen.
  • Een woordenboek met argumenten die elke keer dat de weergave wordt aangeroepen, worden doorgegeven.
  • Een naam die als referentie zal worden gebruikt om omgekeerde oproepen van de weergave te kunnen maken.
Weergaven omzetten in URL's
Binnen onze applicaties moeten we vaak andere views of bronnen oproepen via URL's, maar het star kopiëren of hardcoderen van genoemde URL's is geen goede gewoonte, want als er bijvoorbeeld een verandering in ons programma is, stel je dan voor dat je 20 of 30 referenties moet veranderen naar een URL, hiervoor kunnen we verschillende methoden gebruiken om onze applicatie naar de URL te laten zoeken zonder deze te hoeven kopiëren, een van deze methoden is om de Permalink-decorateur die we in het volgende punt kunnen zien.
De Permalink-decorateur
Binnen elk model hebben we toegang tot de methode get_absolute_url () waarmee we rechtstreeks toegang hebben tot een detailpagina van een object zonder dat we hoeven te weten hoe de URL moet worden geconstrueerd, maar met deze methode kunnen we geen argumenten doorgeven omdat het slechts een geretourneerde link is.
Om de functionaliteit uit te breiden hebben we de mogelijkheid om parameters te gebruiken en terug te sturen alsof ze afkomstig zijn van de get_absolute_url () methode.
Om dit te doen, moet u de volgende structuur volgen:
  • De eerste waarde is de naam van de weergave die moet worden aangeroepen, als de weergave een naam heeft, moet deze worden gebruikt, anders kunnen we de . gebruiken importpad uit het zicht. Deze waarde is altijd vereist.
  • De tweede waarde Het is een reeks positionele argumenten die op de weergave moeten worden toegepast, zo niet, dan kunnen we deze parameter leeg laten.
  • De derde waarde het is een woordenboek dat argumenten verbindt met hun respectieve waarden, deze waarden moeten worden doorgegeven aan de weergave, in het geval dat de weergave niets ontvangt, kunnen we deze waarde uitsluiten van de aanroep.
Laten we eens kijken hoe we dit vertalen in een code in Django, hiervoor gaan we het gebruik van decorateur in een model:

Zoals we in de code in de afbeelding zien, noemen we de view bibliotheek_artikel detail, de tweede waarde geven we leeg omdat het niet nodig is en in de derde waarde geven we aan dat de object_id moet gebonden zijn aan zelf.id dat wil zeggen, naar de id van het model zelf, dan maken we in de laatste regel gebruik van de decorateur.Vond je deze Tutorial leuk en heb je eraan geholpen?Je kunt de auteur belonen door op deze knop te drukken om hem een ​​positief punt te geven

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave