5. Уроки Django 2 - Создание модели Tag, отношения ManyToMany, includes (2018)

preview_player
Показать описание
Мои курсы:
Boosty:

Patreon:

Серия уроков по созданию сайта на Django 2.x для начинающих. На примере простого блога мы рассмотрим основы фреймворка Django 2.

Создаем модель Tag. Связываем Теги с Постами, рассматриваем и используем отношения ManyToMany (Многие-ко-Многим). Опять оптимизируем HTML-код с помощью includes.

*** ИСХОДНЫЙ КОД ***
Основных проектов доступен в Patreon:
***

------

🔷 Для донатов. Всегда очень признателен за это:

------

★ Важно:

Как читать Traceback Python:

Работа с ошибками на примере двух нерабочих парсеров:

★ Все видео серии по Django 2.x:

0. Демка проекта

1. Установка Django и структура проекта

2. Роутинг запросов

3. Шаблоны, наследование шаблонов

4. Создание модели Post, шаблоны Index, Detail

5. Создание модели Tag, отношения ManyToMany, includes

6. Class Based Views (CBVs) и использование Миксинов

7. Работа с формами Form, ModelForm, валидация данных

8. Создание Постов через форму, генерация слага, Миксин

9. Изменение моделей Post, Tag через форму и Миксин

10. Удаление моделей Post, Tag через форму и Миксин

11. Кастомный CSS

12. Ограничение доступа к страницам

13. Добавление постраничной навигации

14. Простой поиск по заголовкам и телу постов

★ Плейлисты:

Flask:

Боты для Телеграма:

Python casts:
Рекомендации по теме
Комментарии
Автор

вкрутил скобки в цикле после tag.posts.all
два часа сверял с видосом - что не так
огромное тебе спасибо, мужик, ты офигенно объясняешь все, буквально разжевываешь
пили еще видосы - обучать, однозначно, твое
задоначу с зарплаты

hulijing
Автор

Благодарю Олег. Отличный курс, всё показано без воды и понятным языком на примерах. Я новичок в Django и по этому видео изучать гораздо удобнее, чем просто читать сухую доку. Всем рекомендую!

ДмитрийБутов-фэ
Автор

Сложный урок. Несколько дней на нем просидел. Спасибо за работу.

karimmorosov
Автор

Спасибо за разъяснение параметра related_name в ManyToManyField! Теперь понятно почему его нужно задавать при создании Foreign Key на одну и ту же таблицу из нескольких таблиц.

SergeyMenshov
Автор

Спасибо огромное, отработал этот урок два дня, расписал десяток листов и просто теперь понимаю как это работает. Олегу памятник! Куда пропал?

velomatica
Автор

Спасибо за вот эти примеры в консоли, и за print(request) и т.п. в предыдущих видео. Мне такие примеры очень помогают понять что же там происходит внутри. Часто тоже использую dir(), чтобы заглянуть "под капот" какому-нибудь объекту. Жаль, не всегда удается весь процесс отследить или посмотреть что внутри класса находится. А дебаггеры и исходники пока для меня слишком сложно и объемно. Классный все-таки пример получился с вот этими постами и тегами, становятся понятны взаимосвязи. Для меня пока это лучшее объяснение ManyToMany.

Антоня-лц
Автор

Спасибо, отличный урок! (как и все на канале)
Единственная проблема, с которой столкнулся - в tag_list отображение тегов простым текстом мне показалось нелогичным и решил переделать их под ссылки. Впрочем, материала из видео хватило более чем, чтобы все быстро поправить :)

NightFrostDevil
Автор

Олег, большое спасибо за этот курс! Скажи какой у тебя опыт работы c Django? Просто интересно сколько времени должно пройти, чтобы с такой лёгкостью ориентироваться? Когда 20-и минутное видео разбираешь 2 часа, а потом еще два-три раза пересматриваешь кажется, что нужна целая вечность для изучения фреймворка. Успокой нас хоть чуть-чуть =)

amidobox
Автор

Блин. Второе видео смотрю, и не могу понять, почему ты возвращаешь данные через '{}'.format(self.title)???
Учитывая познания в остальном - не думаю, что это просто так.
P.S. ответь пожалуйста. У тебя реально хороший стиль подачи информации. И он нестандартный, для оценки человека который долго хочет уметь в программирование

РекфилдКрис
Автор

спасибо автору за продуманный контент. чем дальше углубляешься в джанго, тем меньше познавтельных видео и объяснений. в материалах последнего PyCon2018? презентаторы сами путаются ингода, решая, какой меторд to override.

dodokwak
Автор

Приветствую. Великолепный скринкаст. Поделись темой подсветки синтаксиса, мне тоже больше саблаймовский стиль нравится))

sainco
Автор

смотрю 10 минут, делаю потом все по памяти вылазят кучу ошибок час трачу на то что бы решить их, сравниваю с тем что на видео, смотрю дальше.
у всех так или я один такой тупой?
P.S. спасибо за уроки)

varik
Автор

А откуда взялась связь tag.posts.all ? Ведь в models.py в классе Tag нет переменной posts. Как работает эта связь?

nik-wlrd
Автор

Добрый день. Подскажите, пожалуйста, как или через какой плагин, создается сразу весь блок {%block%}{%endblock%}, я использую pycharm? Заранее спасибо

gleblobinsky
Автор

Олег, не подскажеш как мне вивести в inline связаные обьекты через ManyToMany? Спасибо

СергійКазмірук-ыч
Автор

а зачем в def __str__ делать через format ? можно же просто return self.title

andreypr
Автор

здраствуйте. вы занимаетесь менторством?

romanp
Автор

Спасибо, Вам, за такой классный видео курс! Кто-нибудь может объяснить "related_name" ?

МаксатДосалиев
Автор

Я правильно понял, что классы Post и Tag нечувствительны к регистру если в post_card_template.html в качестве аргумента href используются post.get_absolute_url и tag.get_absolute_url?

vladimirshatalin
Автор

У Меня вопрос по моменту на 24:59 а как правильно выводить теги, если у меня по факту models.py в соседнем приложении? Все до этого момента получалось, но сейчас идет ругань, на то что якобы моделей моих нет со страницами Page matching query does not exist. То есть у меня создан проект AppCore и из него я работаю с models.py который в соседнем приложении AppPages и в нем модели эти есть, Page это у меня вместо Post . Но вот в случае с тегами в подвале карточки почему-то не видит джанго модели. Вот и вопрос, как правильно обращаться в данном случае к модели соседнего приложения? {% for tag in page.tags.all %} получается в цикле не подходит судя по всему.

TheMultiland