16 Функция reverse в Django. Reverse function Django 3

🚀 Add to Chrome – It’s Free - YouTube Summarizer

Category: N/A

Building WordCloud ...

Summary

No summary available.

Transcript

00:00

итак мы с вами хорошенько потрудились к этому моменту и у нас есть два динамических юрла один обрабатывает знаки зодиака по имени другой по их порядковому номеру и работает а не за счет вот этих бы функций также все данные у нас теперь хранятся в словаре и

00:16

это делает наш код более гибким и поддерживаем давайте к примеру разберем ситуацию что нам бы понадобилось добавить еще один знак зодиак или например удалить их так вот мы просто добавляем новый знак в этот словарик и все остальное у нас уже с вами

00:32

заработает то есть нам не нужно писать дополнительном какого-то кода эти две функции уже всю остальную работу сделаю за нас но в нашем коде есть все-таки небольшой участок который трудно поддерживать в случае каких-либо изменений и эта строчка под номером

00:48

тридцать пять обратите внимание вот здесь у нас как говорят программисты захар кожин eurail то есть у нас четко прописан начала roll the который должен начинаться с гороскоп и это начало мы взяли из юрий la mai bate вот давайте

01:03

взглянем на него но представьте вдруг у нас произошли какие-то изменения или кто-то случайно удалил начала этого road и теперь он пишется вот таким вот образом то у нас все с вами сломается вот я обновляю страничку обращаясь к

01:19

единице и это уже не работает хорошо давайте изменим на нужный нам адрес сюда в объем левого этот адрес у нас хорошо отрабатывает но смотрите если я обращусь к единичке

01:34

то наш redirect по-прежнему будет отправлять нас на гороскоп а этот адрес уже не поддерживается в нашем приложении и вот здесь как раз возникает проблема и нам придётся тогда и здесь тоже прописывать нужный нам адрес то есть удалять две буквы и после этого у нас

01:51

все с вами заработает то есть я обращаюсь вот керис где у нас буквы п н нету и сюда добавляю единичку и вот происходит перенаправление и здесь у нас этот адрес прописан только в одном месте но представьте если наш проект

02:06

разрастется и вот этих ссылок у нас будет десятки а то и сотни и нам это будет очень трудно редактировать в случае необходимости и с этим нужно что-то делать и для этого джанки есть специальный инструмент мы можем каждому

02:23

нашему ярилы дать определенные имя то есть зарегистрировать за ним определенные названия и уже ссылаться потом на это название так вот всем роу там и имена не будем давать нас интересует только вот этот юрию и здесь после названия представления вы можете

02:40

указать имя за которым этот юрий будет зарегистрирован вот это имя вы придумываете сами давайте назовем его гороскоп ней это строка здесь вы можете писать что хотите отлично эту часть задачи мы с

02:56

вами сделали и теперь во views мы будем это название использовать для этого нам нужно импортировать специальную функцию она называется риверс итак идем сюда и значит она находится в дженги в под модули urals

03:13

вот мы это название здесь написали и первым параметром она принимает название нашего юра копируем вот это название сюда его вставляем и функции reverse пытается воссоздать

03:30

европа вот этому имени то есть она отыскивает где используется наш пав он у нас написано здесь вот и эта функция вычисляет что в этот паз мы попадем только тогда когда сработает вот этот наши юра главный который написан в

03:45

приложении мэй пэйдж вот давайте вернем здесь гороскоп так вот функция реверса она конструирует как я сказал то есть начало нашего пути будет гороскоп и потом мы должны ей добавить наше

04:02

название знака зодиака но так как он идет аргументом внутри нашего представления то мы должны его передать при помощи специального аргумента аркс вот здесь мы пишем название нашего знака зодиака и вот результатом вызова этой

04:17

функции будет сконструированный url по которому мы должны с вами перейти это будет строка мы на нее скоро уже взглянем и вот эту строку мы передаем в redirect вот так это все будет выглядеть здесь

04:34

давайте поставим запятую потому что это должна быть у порядочная коллекция в данном случае мы передаем кортеж давайте я поставлю здесь точку останова напоминаем что мы сейчас обращаемся к адреса гороскоп и должны поставить цифру

04:51

смотрите мы останавливаемся здесь я выполняю эту строчку и redirect url у нас конструируется необходимым нам образом то есть он вычислил первой части адреса и добавлять к нему имя отлично выполняем эту строчку

05:09

теперь давайте изменим вновь наш главный узел теперь мы получаем ошибку обращаясь к этой странице убираем по ошибке нет и теперь мы должны будем с

05:24

вами обратиться по цифре обязательно давайте поставим здесь точку останова вновь и так обновляю страничку выполняем эту строчку и видим что наш кирелл вновь построился динамически то

05:40

есть он вычислил нужный нам начал юрла из-за функций мэй пэйдж вот он взял вот эту часть и дача он к нему подстроил тот аргумент который мы с вами передали в качестве переменной name зодиак а это у нас овен и вот при помощи функции reverse мы теперь

05:58

завязываем ся на имя eurail и нам неважно по какому именно road он сработает вот обратите внимание и функции reverse нам этот род достроят автоматически и это гораздо удобнее и в

06:13

дальнейшем избавит нас от ошибок в случае если понадобится редактировать road и вот как в этом примере давайте вернем как было обновляем страничку вновь получаем ошибку вернем здесь две

06:29

буквы недостающие и так вот наш овен обращаемся к третьему знаку зодиака близнецы все хорошо работает и прошу еще раз обратить внимание вот на этот аргумент вы здесь можете передать как я сказал уже коллекцию в данном

06:45

случае я передаю кортеж но это также может быть и список тогда не нужно будет указывать вот эту запятую специально указывается для того чтоб все-таки получился кортеж и количество аргументов зависит как раз от того сколько ваша функция принимает значение

07:01

вот видите у нас здесь только одно значение принимается поэтому мы передаем только один аргумент давайте вновь обновим страничку вот обращаемся по четвертому знаку зодиака и у нас нет никаких ошибок не смотря на то что я уже передаю это виде списка

07:18

итак если у вас остались вопросы по функции reverse или вдруг по предыдущим урокам не стесняйтесь можете оставлять в комментариях но я сегодня с вами прощаюсь спасибо за просмотр не забывайте отблагодарить меня лайком и увидимся в следующем видео всем пока