40 Методы в модели. Курс по Django 3

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

Category: N/A

Building WordCloud ...

Summary

No summary available.

Transcript

00:00

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

00:15

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

00:31

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

00:49

функция давайте продублируем назовем ее show one movie здесь мы пока что получаем информацию о всех фильмах а нам нужно получать информацию о каком-то конкретно о каком именно фильме информацию получать мы

01:06

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

01:21

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

01:38

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

01:54

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

02:10

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

02:26

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

02:43

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

02:58

дальше давайте one movie мы здесь заголовок h3 создадим и выведем значение переменной movie вот и все . снова нужно отпустить поэтому нажимаем этот треугольник и

03:15

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

03:32

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

03:49

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

04:06

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

04:22

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

04:38

нас возникнет а исключения то вернётся страничка с ошибкой 404 давайте попробуем обновляем и вот видим пышную founder ошибка 404 ну и давайте поработаем шаблоном мы

04:54

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

05:12

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

05:27

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

05:46

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

06:02

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

06:18

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

06:33

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

06:50

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

07:07

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

07:24

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

07:40

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

07:57

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

08:12

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

08:30

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