Django - Решаване на изгледи и URL адреси

Съдържание
Изгледите и URL адресите не се извикват директно от нашия код, това се дължи на динамичния характер на приложенията, причината е, че колкото по -обща е формата, възможно е да се използва в много повече случаи.
Така че правилният начин е да използваме различните функции, които ни позволяват да разрешаваме маршрутите или от изглед към URL, или от URL към изглед, за това имаме някои инструменти, наречени декоратори.
Разрешаване от URL към Views
The изгледи, чрез препоръчаните практики не се извикват директно от нашия код, а по -скоро те се извикват чрез обаждания в URL адреса, тези повиквания се обработват и обслужват от диспечерската система на Джанго.
Един от ключовите аспекти на този етап е, че Django използва регулярни изрази за да направим изграждането на URL адреса, който ще извика нашия изглед, благодарение на това можем да предадем различни параметри и по този начин да добавим функционалности към нашите изгледи.
А модел на url съдържа следните аспекти:
  • Регулярният израз, който ни позволява да улавяме URL адреса, който сме поставили като модел.
  • Препратка към изгледа, който ще бъде извикан.
  • Речник на аргументите, които ще се предават при всяко извикване на изгледа.
  • Име, което ще се използва като препратка, за да може да прави обратни извиквания на изгледа.
Разрешаване на изгледи към URL адреси
В нашите приложения много пъти се налага да извикваме други изгледи или ресурси чрез URL адрес, но стриктното копиране или твърдо кодиране на посочените URL адреси не е добра практика, тъй като ако например има промяна в нашата програма, представете си, че трябва да промените 20 или 30 препратки към URL, за това можем да използваме различни методи, за да накараме нашето приложение да търси URL адреса, без да се налага да го копираме, един от тези методи е да използваме Декоратор на постоянни връзки което можем да видим в следващата точка.
Декораторът на постоянните връзки
Във всеки модел имаме достъп до метода get_absolute_url () което ни позволява директен достъп до страница с подробности за обект, без да се налага да знаем как трябва да бъде конструиран URL адресът, но този метод не ни позволява да предаваме аргументи, тъй като това е само върната връзка.
За да разширим функционалността, имаме възможност да използваме и връщаме параметри, сякаш са от метода get_absolute_url ().
За да направите това, трябва да следвате следната структура:
  • The първа стойност е името на изгледа, който трябва да бъде извикан, ако изгледът има име, той трябва да се използва, в противен случай можем да използваме път за импортиране на зрението. Тази стойност винаги се изисква.
  • The втора стойност Това е куп позиционни аргументи, които трябва да бъдат приложени към изгледа, ако не, можем да оставим този параметър празен.
  • The трета стойност това е речник, свързващ аргументи със съответните им стойности, тези стойности трябва да бъдат предадени на изгледа, в случай че изгледът не получи нищо, можем да изключим тази стойност от извикването.
Нека да видим по -нататък как ще преведем това в код в Джанго, за това ще включим използването на декоратор в модел:

Както виждаме в кода на изображението, ние наричаме изгледа library_article детайл, втората стойност го предаваме празна, тъй като не е необходимо, а в третата стойност посочваме, че object_id трябва да бъде обвързан self.id тоест към идентификатора на самия модел, тогава в последния ред използваме декоратор.Хареса ли ви и помогнахте на този урок?Можете да възнаградите автора, като натиснете този бутон, за да му дадете положителна точка

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave