24 Тег for Django. Теги в Джанго. Tags in Django Template Language

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

Category: N/A

Building WordCloud ...

Summary

No summary available.

Transcript

00:00

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

00:16

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

00:33

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

00:49

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

01:07

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

01:24

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

01:40

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

01:57

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

02:15

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

02:33

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

02:50

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

03:06

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

03:22

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

03:39

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

03:54

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

04:10

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

04:25

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

04:43

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

05:00

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

05:16

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

05:31

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

05:47

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

06:04

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

06:20

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

06:35

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

06:55

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

07:11

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

07:30

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

07:45

этими специальными переменами также что касается цикла for the здесь допустим распаковка видите здесь каждый элемент коллекции пояс будет распаковываться на 2 значение x y вот цикле for можно также обходить словари давайте мы с вами это

08:01

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

08:17

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

08:33

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

08:49

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

09:04

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

09:21

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

09:39

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

09:57

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

10:12

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

10:28

следующем видео всем пока