Django - Rozwiązywanie widoków i adresów URL

Spisie treści
Widoki i adresy URL nie są wywoływane bezpośrednio przez nasz kod, wynika to z dynamicznego charakteru aplikacji, ponieważ im bardziej ogólny formularz, tym można go używać w znacznie większej liczbie przypadków.
Więc właściwym sposobem jest użycie różnych funkcji, które pozwalają nam rozwiązać trasy z widoku do adresu URL lub z adresu URL do widoku, w tym celu mamy kilka narzędzi o nazwie dekoratorzy.
Rozwiązywanie z adresu URL na widoki
ten wyświetlenia, przez zalecane praktyki nie są wywoływane bezpośrednio przez nasz kod, ale raczej są wywoływane przez wywołania w adresie URL, połączenia te są przetwarzane i obsługiwane przez system dyspozytorski Django.
Jednym z kluczowych aspektów w tym momencie jest to, że Django używa wyrażeń regularnych wykonać konstrukcję adresu URL, który wywoła nasz widok, dzięki temu możemy przekazywać różne parametry i tym samym dodawać funkcjonalności do naszych widoków.
A wzorzec adresu URL zawiera następujące aspekty:
  • Wyrażenie regularne, które pozwala nam przechwycić adres URL, który umieściliśmy jako wzorzec.
  • Odwołanie do widoku, który zostanie wywołany.
  • Słownik argumentów, które będą przekazywane przy każdym wywołaniu widoku.
  • Nazwa, która będzie używana jako odwołanie, aby móc wykonać odwrotne wywołania widoku.
Przetwarzanie widoków na adresy URL
W naszych aplikacjach wiele razy musimy wywoływać inne widoki lub zasoby za pośrednictwem adresu URL, jednak sztywne kopiowanie lub zakodowanie wspomnianych adresów URL nie jest dobrą praktyką, ponieważ jeśli na przykład nastąpi zmiana w naszym programie, wyobraź sobie, że musisz zmienić 20 lub 30 odniesień do adres URL, w tym celu możemy użyć różnych metod, aby nasza aplikacja szukała adresu URL bez konieczności jego kopiowania, jedną z tych metod jest użycie Dekorator Permalink co możemy zobaczyć w następnym punkcie.
Dekorator Permalink
W ramach każdego modelu mamy dostęp do metody get_absolute_url () to pozwala nam uzyskać bezpośredni dostęp do strony szczegółów obiektu bez konieczności znajomości sposobu konstrukcji adresu URL, jednak ta metoda nie pozwala nam na przekazywanie argumentów, ponieważ jest to tylko zwracany link.
W celu rozszerzenia funkcjonalności mamy możliwość używania i zwracania parametrów tak, jakby pochodziły z metody get_absolute_url().
Aby to zrobić, musisz postępować zgodnie z następującą strukturą:
  • ten pierwsza wartość to nazwa widoku, który ma zostać wywołany, jeśli widok ma nazwę, należy go użyć, w przeciwnym razie możemy użyć ścieżka importu wzroku. Ta wartość jest zawsze wymagana.
  • ten druga wartość Jest to krotka argumentów pozycyjnych, które należy zastosować do widoku, jeśli nie, możemy pozostawić ten parametr pusty.
  • ten trzecia wartość jest to słownik łączący argumenty z ich odpowiednimi wartościami, wartości te muszą być przekazane do widoku, w przypadku gdy widok niczego nie otrzymuje możemy wykluczyć tę wartość z wywołania.
Zobaczmy dalej, jak przetłumaczymy to na kod w Django, w tym celu uwzględnimy użycie dekorator w modelu:

Jak widzimy w kodzie na obrazku, nazywamy widok artykuł_biblioteczny szczegółowo, drugą wartość podajemy pustą, ponieważ nie jest to konieczne, a w trzeciej wartości wskazujemy, że identyfikator_obiektu musi być przywiązany do własny.id czyli do id samego modelu, to w ostatnim wierszu używamy dekorator.Podobał Ci się i pomógł ten samouczek?Możesz nagrodzić autora, naciskając ten przycisk, aby dać mu pozytywny punkt

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave