мне нравится как автор каждый урок повторяет снова и снова базовые шаги, ведь именно это помогает обучиться, а так поясняет что к чему обращается, с каким методом идёт работа...Просто прекрасный курс, спасибо огромное.
Не перестаю восхищаться этими уроками, их запросто можно было бы назвать "django для самых маленьких" потому что так понятно и доходчиво объяснено. Искренне благодарю Вас за ваш труд.
Учусь в Нетологии , честно тут доступнее объясняют, регулярно смотрю параллельно со своими занятиями. Огромная человеческая благодарность автору курса!
соболезную , сам учился там отдал 115к , ТП не отвечает, налог вернуть не могу, закончил обучение 1.5 месяца назад, и до сих пор мой диплом не напечатали , жду((( теперь понял что без бумажки ты ка___шка работает только для тех кто эти бумаги печатает. Я думал в этом году сходить с этой докой до универов возьмут ли меня на 3 курс с ними...а нет , ждём переждём.
Очень обидно, что миллионы просмотров набирают всякие "ТикТокеры" льющие себе молоко на голову... и т.д. Вот такие уроки у таких авторов должны быть миллионные просмотры! Автору огромное спасибо! Лучшего объяснения материала в просторах интернета ещё не встречал. Палец вверх под каждым видео! И подписка само-собой!
Не, Тиктоки , о которых вы говорили подходят для людей любого возраста, а курс по джанго, который создан для узкой направленности в программировании, для отдельного языка, да еще и на русском языке, просто не может набирать большие просмотры. Не знаю как работают просмотры в ютубе, считается ли то, пересмотрел человек 1 раз или 2 раза, но если смотреть с относительной стороны, то у этого курса даже побольше просмотры будут.
Я уже почти год занимаюсь разработкой на python\django, но было очень полезно пересмотреть уроки и структурировать знания. Спасибо за потраченное время и ваш труд!
0:00 - использование тега URL для формирования маршрутов к URL-схемам 3:42 - Создание страниц и ссылок для пунктов меню хедера 7:50 - Создание динамических ссылок на уровне шаблонов 11:06 - Формирование динамических URL-адресов, связанных с БД, с помощью метода get_absolute_url
Фух, оказалось самой тяжкой темой для меня. Отличный ролик, как всегда спасибо. Умудрился сделать чтобы внутрь новой страницы передавалась вся информация объекта через get(pk=id) теперь внутри страницы есть полноценный html с которым можно работать. Спасибо за урок)
Это лучший курс по Джанго. Очень понятно, очень подробно. Спасибище огромное!!! Жаль что в этом видео не нашёл как загрузить статический файл картинку. "Будем искать"
Не давно смотрел уроки на другом канале и они мне нравились,но потом случайно наткнулся на ваши видео и я понял, что прошлые видео и рядом не стояли с вашими. Вы пожалуй лучше всех обьясняите эту тему и другие наверное тоже( пока, что успел глянуть только уроки по jinji2 и по sql, мне они понравились!) Продолжайте в том же духе :3
Друзья, если возникла проблема на данном этапе: 14:08 Проверьте себя с данным параметром в файле index.html: href="{{ p.get_absolute_url }}" Там НЕ должны оставаться знаки "%", сам не заметил данной ошибки и потратил на это минут 20)
Получается, что для создания каждой ссылки на странице django будет обращаться к базе данных (выполняя метод get_absolute_url)? И если таких ссылок на странице 100 штук, то это 100 обращений. Используя обычный url в шаблоне, мы можем предварительно одним запросом (или не одним?) получить всю информацию из базы данных и передать ее в шаблон. В таком случае нагрузка на бд будет снижена, насколько я понимаю. Почему тогда метод get_absolute_url рекомендуется к использования самой документацией django?
Сергей, сколько чел. часов уходить на создание 1 часа видео с учётом всех дополнительных материалов которые вы предоставляете? Я думаю, около 5 часов. Благодарю!
я что-то запутался. а откуда в блоке mainmenu при переборе списка menu взялся m.title еще до словаря, или я упускаю что-то, ведь страница запускается, слишком много title
Спасибо за подробный разбор всех деталей! И вот вопрос возник: а чем отличается строка return render(request, 'women/about.html', {'menu': menu, 'title': 'О сайте'}) в функции about от строки return HttpResponse("Добавлние статьи") в функции addpage? Они на сайте ведь вроде одинаково работают
Подскажите, пожалуйста, в чем ошибка? Как только я в тег добавляю {% m.url_name %} происходит ошибка Invalid block tag on line 20: 'm.url_name', expected 'elif', 'else' or 'endif'. Did you forget to register or load this tag?
Почему мы в шаблоне base.html в теге for для верхнего меню к ключу словаря из списка menu обращаемся через точку, а не как положено? Т.е. мы прописываем так m.url_name, хотя должны были прописать так m['url_name']. В видео на 7:04. Эта такая особенность шаблонизаторов (Django, jinja)?
Доброго времени суток. У Вас случайно нету видеоУроков - создание интернет магазина на django? Горю по срокам. .. Или быть может Вы за такие проекты беретесь?. Верстка готова...
Прошу прощения но я не понял ... а как появляется логотип ? Там ведь просто div , без тега img ... Это какая то магия вне хогвартса ? Вроде в предыдущих уроках об этом даже упоминания не было , да и в интернете тоже ничего нет об этом . Сижу уже час и никак не пойму как же выводятся изображения на сайте если мы вообще не прописываем тегов img
Если я правильно понял, то когда мы в функции создаем словарь 'context', обращаться в шаблоне можно без указания словаря, а сразу к его ключам, как к переменным?
После ввода конструкции "{% url 'post' p.pk %}" у меня выдает ошибку при входе на сайт Reverse for 'post' with arguments '('',)' not found. 1 pattern(s) tried: ['post/(?P[0-9]+)/\\Z'] Не пойму как ее исправить?
Возможно, у меня немного дилетантский вопрос, но всё-таки хочется понимать: Почему сервер выдаёт ошибку когда я в своём файле urls.py пишу имя моего представления, к примеру show_post, без приставки views? То есть views.show_post работает а path('post//', show_post, name='post'), так не работает =/
@@lalkabest1065 у меня прописано: from . import views, то есть я подключаю этот файл views из текущей категории целиком, он там же где у меня файл urls.py находится. Если написать from .views import * то почему-то тоже ошибку выдает: "NameError: name 'views' is not defined ", хотя они в одном месте эти файлы находятся и джанго должен его видеть.
Привет, а как формировать ссылки с аргументами через амперсанду? А то во фласке попроще было, в url _for указал неожиданный аргумент и появилось, а тут чёт так не работает)
@@selfedu_rus как получить-то понятно, я имел в виду как их туда добавить) просто иногда хочется добавить какой-нибудь аргумент next, который будет хранить информацию о том откуда пользователь перешёл
Я не знаю, разбиралось ли это далее по курсу, но можно как-то дополнительно избежать дублирования и не передавать в контекст каждого view коллекцию menu? Сделать так, чтобы меню формировалось в base.html независимо оттого, на какой странице мы находимся Я попробовал сам и у меня не получилось, на странице about меню не формируется :) Если было разобрано, то ткните пж
Здравствуйте! В первую очередь, конечно, спасибо вам за ваши уроки. И у меня вопрос. Целый день мучаюсь не могу установить бэкграунд для своей страницы. Ни в CSS ни прямо прописывая в HTML файле( Я пишу вот так style=" background-size: cover; background-image: {% url 'chemistry/images/b1.png' %}" и получаю на выходе следующее: NoReverseMatch at / Reverse for 'chemistry/images/b1.png' not found. 'chemistry/images/b1.png' is not a valid view function or pattern name. Как только стираю эту строчку - все работает. Очень нужна ваша помощь. Спасибо. (В интернете гуглила - не помогло). Bootstrap успешно подключила, и использовала шаблоны.
Во-первых, посмотрите, какой путь у вас получается в HTML-странице в браузере, корректно ли формируется путь. Во-вторых, нужно убедиться, что верно настроено подключение media-файлов в пакете конфигурации (файл settings.py). Об этом было отдельное занятие. Также убедитесь, что находитесь в режиме отладки DEBUG=True.
href="{% url 'home' %}" - ни в коем разе не спорю, что так правильнее, но и href="home" при всех остальных равных так же работает. Почему так, не знаю. УПД: Я кажись понял. Я хомяка дополнительно прописывал в урлах так же, как и пустой адрес (' ')
мне нравится как автор каждый урок повторяет снова и снова базовые шаги, ведь именно это помогает обучиться, а так поясняет что к чему обращается, с каким методом идёт работа...Просто прекрасный курс, спасибо огромное.
Не перестаю восхищаться этими уроками, их запросто можно было бы назвать "django для самых маленьких" потому что так понятно и доходчиво объяснено. Искренне благодарю Вас за ваш труд.
или джанго для сладких пусечек, они ведь тоже смотрят
Учусь в Нетологии , честно тут доступнее объясняют, регулярно смотрю параллельно со своими занятиями. Огромная человеческая благодарность автору курса!
соболезную , сам учился там отдал 115к , ТП не отвечает, налог вернуть не могу, закончил обучение 1.5 месяца назад, и до сих пор мой диплом не напечатали , жду((( теперь понял что без бумажки ты ка___шка работает только для тех кто эти бумаги печатает.
Я думал в этом году сходить с этой докой до универов возьмут ли меня на 3 курс с ними...а нет , ждём переждём.
Очень обидно, что миллионы просмотров набирают всякие "ТикТокеры" льющие себе молоко на голову... и т.д. Вот такие уроки у таких авторов должны быть миллионные просмотры! Автору огромное спасибо! Лучшего объяснения материала в просторах интернета ещё не встречал. Палец вверх под каждым видео! И подписка само-собой!
не, не обидно, меньше конкуренция)
@@ВладимирКоваленко-ъ6о Хороший специалист конкуренции не боится )
Не, Тиктоки , о которых вы говорили подходят для людей любого возраста, а курс по джанго, который создан для узкой направленности в программировании, для отдельного языка, да еще и на русском языке, просто не может набирать большие просмотры.
Не знаю как работают просмотры в ютубе, считается ли то, пересмотрел человек 1 раз или 2 раза, но если смотреть с относительной стороны, то у этого курса даже побольше просмотры будут.
Я уже почти год занимаюсь разработкой на python\django, но было очень полезно пересмотреть уроки и структурировать знания. Спасибо за потраченное время и ваш труд!
Здравствуйте. А как нашли первую работу и что в основном от Вам требовалось, как от начинающего разработчка?
@@РоманТорунов-ъ1р я давно в разработке
Автор, не пропущу ниодного твоего видео и обязательно поставлю лайк и комментарий! Советую всем!
Спасибо огромное Вам, Сергей, Вы делаете большое и доброе дело! Ещё раз человеческое спасибо!
Автор очень интересно и доступно обьясняет материал. Спасибо. Жду продолжения.
0:00 - использование тега URL для формирования маршрутов к URL-схемам
3:42 - Создание страниц и ссылок для пунктов меню хедера
7:50 - Создание динамических ссылок на уровне шаблонов
11:06 - Формирование динамических URL-адресов, связанных с БД, с помощью метода get_absolute_url
Спасибо, тоже добавил!
Класс, ещё раз спасибо за уроки. Стеаринов стараюсь осваивать постепенно, так лучше укладывается в голове. Ну и ещё пару источников смотрю)
Фух, оказалось самой тяжкой темой для меня. Отличный ролик, как всегда спасибо. Умудрился сделать чтобы внутрь новой страницы передавалась вся информация объекта через get(pk=id) теперь внутри страницы есть полноценный html с которым можно работать. Спасибо за урок)
Спасибо, как всегда доступно и последовательно.
Это лучший курс по Джанго. Очень понятно, очень подробно. Спасибище огромное!!! Жаль что в этом видео не нашёл как загрузить статический файл картинку. "Будем искать"
Это будет в последующих занятиях.
@@selfedu_rus Очень-очень жду))
@@selfedu_rus Круто, а в каком плейлисте?
@@ahil7800 в этом же, через некоторое время
Не давно смотрел уроки на другом канале и они мне нравились,но потом случайно наткнулся на ваши видео и я понял, что прошлые видео и рядом не стояли с вашими. Вы пожалуй лучше всех обьясняите эту тему и другие наверное тоже( пока, что успел глянуть только уроки по jinji2 и по sql, мне они понравились!)
Продолжайте в том же духе :3
Спасибо автору! Очень доходчиво и подробно!
Комментарий для поддержки канала 🖐️😉
Спасибо! очень позновательный урок! И отдельня благодарность, что Вы уделяете внимания тонкостям!!!!
Очень доходчиво рассказываете. Огромное спасибо.
Спасибо за урок, спасибо, что продолжаете.
Сергей, спасибо большое!
Лаконично, понятно, доступно. Хотелось бы продолжения тем по Django.
Как всегда на высоте, спасибо большое!
Друзья, если возникла проблема на данном этапе: 14:08
Проверьте себя с данным параметром в файле index.html: href="{{ p.get_absolute_url }}"
Там НЕ должны оставаться знаки "%", сам не заметил данной ошибки и потратил на это минут 20)
это есть в видео
Большое спасибо!
Для тех, кто не может понять откуда взялась ''p'
Все просто. Выше идет перебор в цикле фор - {% for p in posts %}
Не поверишь, но именно это было единственным , что я недопонял в этом уроке и твой коммент все разрешил, красава, жму руку🤝
Благодарю за материал. ! Очень полезная информация.
Spasibo bolshoe za video!!!!!!!!
Спасибо автору!
Спасибо за видео!
Просто лучший! Спасибо!
Супер пупер* урок!))☺️
Большое спасибо, все понятно! 👍🏼
"Не лучший путь" 1:54 отличный каламбур
Спасибо!
Отличное видео!
You are cool bro
Бля, selfedu обрати внимание на джанго бук и доки сайта джанго.
Доки очень подробные. А материал твой очень хорош.
Получается, что для создания каждой ссылки на странице django будет обращаться к базе данных (выполняя метод get_absolute_url)? И если таких ссылок на странице 100 штук, то это 100 обращений. Используя обычный url в шаблоне, мы можем предварительно одним запросом (или не одним?) получить всю информацию из базы данных и передать ее в шаблон. В таком случае нагрузка на бд будет снижена, насколько я понимаю. Почему тогда метод get_absolute_url рекомендуется к использования самой документацией django?
👏👍
Спасибо
Сергей, сколько чел. часов уходить на создание 1 часа видео с учётом всех дополнительных материалов которые вы предоставляете? Я думаю, около 5 часов. Благодарю!
да, около 4-5 часов
Немного не понятно, почему вызвали именно функцию reverse для get_absolute_url.
Да, то же не понял
я что-то запутался. а откуда в блоке mainmenu при переборе списка menu взялся m.title еще до словаря, или я упускаю что-то, ведь страница запускается, слишком много title
все круто, но для новичков как я, имена переменных не надо наверно делать одинаковыми с параметрами имхо
Спасибо за подробный разбор всех деталей! И вот вопрос возник: а чем отличается строка return render(request, 'women/about.html', {'menu': menu, 'title': 'О сайте'}) в функции about от строки return HttpResponse("Добавлние статьи") в функции addpage?
Они на сайте ведь вроде одинаково работают
все, дальше поняла в чем отличие. Еще раз спасибо большое!
👍
Подскажите, пожалуйста, в чем ошибка? Как только я в тег добавляю {% m.url_name %} происходит ошибка
Invalid block tag on line 20: 'm.url_name', expected 'elif', 'else' or 'endif'. Did you forget to register or load this tag?
Включил видео с начала и разобрался! Нужно писать не {% m.url_name %},
а {% url m.url_name %}, не указал название тега))
Почему мы в шаблоне base.html в теге for для верхнего меню к ключу словаря из списка menu обращаемся через точку, а не как положено? Т.е. мы прописываем так m.url_name, хотя должны были прописать так m['url_name']. В видео на 7:04. Эта такая особенность шаблонизаторов (Django, jinja)?
без разницы, можно и так и так
почему буква p.разрешает нам в index.html использовать функцию ? она магическая ?
потому что {% for p in posts %} Автор просто использовал ее в цикле для обозначения одного элемента последовательности.
Доброго времени суток. У Вас случайно нету видеоУроков - создание интернет магазина на django? Горю по срокам. .. Или быть может Вы за такие проекты беретесь?. Верстка готова...
Кто ты воин? 😁
Если я введу в моделях еще один класс, для него нужно будет отдельно прописывать get_absolute_url. Джанго сможет их различить за счет полиморфизма?
Прошу прощения но я не понял ... а как появляется логотип ? Там ведь просто div , без тега img ... Это какая то магия вне хогвартса ? Вроде в предыдущих уроках об этом даже упоминания не было , да и в интернете тоже ничего нет об этом . Сижу уже час и никак не пойму как же выводятся изображения на сайте если мы вообще не прописываем тегов img
на память не помню, но скорее всего описан background с загрузкой фонового изображения для div в css
почему в [block mainmenu] m.title работает, а не m['title']?
На сколько правильно засовывать метод get_absolut_url в слой орм?
Не могу понять , почему имя модели в шаблонах используется как 'p' ? Откуда она взялась , почему именно 'p'?
так там же выше {% for p in posts %}
@@selfedu_rus а, понял , невнимателен) Спасибо
Если я правильно понял, то когда мы в функции создаем словарь 'context', обращаться в шаблоне можно без указания словаря, а сразу к его ключам, как к переменным?
да, там такой синтаксис на уровне шаблона
@@selfedu_rus понял, спасибо за ответ.
После ввода конструкции "{% url 'post' p.pk %}" у меня выдает ошибку при входе на сайт Reverse for 'post' with arguments '('',)' not found. 1 pattern(s) tried: ['post/(?P[0-9]+)/\\Z'] Не пойму как ее исправить?
Все, получилось. У меня же в цикле i а не p
почему post_id не могу уловить суть
Возможно, у меня немного дилетантский вопрос, но всё-таки хочется понимать:
Почему сервер выдаёт ошибку когда я в своём файле urls.py пишу имя моего представления, к примеру show_post, без приставки views?
То есть views.show_post работает а
path('post//', show_post, name='post'),
так не работает =/
Мб у вас прописан import views вместо from .views import * ?
@@lalkabest1065 у меня прописано:
from . import views, то есть я подключаю этот файл views из текущей категории целиком, он там же где у меня файл urls.py находится.
Если написать from .views import * то почему-то тоже ошибку выдает: "NameError: name 'views' is not defined
", хотя они в одном месте эти файлы находятся и джанго должен его видеть.
Почему у меня в файле about.html не наследуется block mainmenu?
Из-за этого у меня шапка сайта не показывается при переходе на страничку about/
Вам на такие общие вопросы вряд ли кто-то ответит, много разных нюансов может быть.
@@selfedu_rus проблема была в том, что я забыл прописать menu в словаре context.
Но в любом случае, спасибо что откликнулись на мою проблему.
У меня не загружается ссылка "читать пост " все писала правильно. Help me please 🙏
Привет, а как формировать ссылки с аргументами через амперсанду? А то во фласке попроще было, в url _for указал неожиданный аргумент и появилось, а тут чёт так не работает)
В url_for это не нужно делать, параметры GET-запроса можно получить через объект request.GET
А вообще параметр в url_for записывают через пробел, но он должен при этом соответствовать шаблону URL-адреса
@@selfedu_rus как получить-то понятно, я имел в виду как их туда добавить) просто иногда хочется добавить какой-нибудь аргумент next, который будет хранить информацию о том откуда пользователь перешёл
Сложный урок( Очень Не понял до конца как работает get_absolute_url
по сравнению с предыдущими уроками много скомканной информации. осилить не удалось
Я конечно затупок ещё тот, но что за posts, непонятно откуда оно берётся, как оно связанно с классом women, хоть убей не нашёл где это прописано
пост находится во views, в функции index
posts = Women.objects.all()
Он подсасывает инфу из модели, данные которой находятся в бд
@@standvik1159 да, уже разобрался, спасибо)
Я не знаю, разбиралось ли это далее по курсу, но можно как-то дополнительно избежать дублирования и не передавать в контекст каждого view коллекцию menu? Сделать так, чтобы меню формировалось в base.html независимо оттого, на какой странице мы находимся
Я попробовал сам и у меня не получилось, на странице about меню не формируется :)
Если было разобрано, то ткните пж
А в чем смысл это действия?
@@vladimirdo избавиться от дублирования? DRY?
называть словарь так же как и специальный именованный параметр context наверное не лучшая идея, это немного путает
Не совсем понятно. В каком месте описано, что p это экземпляр класса Women
Здравствуйте! В первую очередь, конечно, спасибо вам за ваши уроки. И у меня вопрос. Целый день мучаюсь не могу установить бэкграунд для своей страницы. Ни в CSS ни прямо прописывая в HTML файле( Я пишу вот так style=" background-size: cover; background-image: {% url 'chemistry/images/b1.png' %}" и получаю на выходе следующее: NoReverseMatch at /
Reverse for 'chemistry/images/b1.png' not found. 'chemistry/images/b1.png' is not a valid view function or pattern name. Как только стираю эту строчку - все работает. Очень нужна ваша помощь. Спасибо. (В интернете гуглила - не помогло). Bootstrap успешно подключила, и использовала шаблоны.
Во-первых, посмотрите, какой путь у вас получается в HTML-странице в браузере, корректно ли формируется путь. Во-вторых, нужно убедиться, что верно настроено подключение media-файлов в пакете конфигурации (файл settings.py). Об этом было отдельное занятие. Также убедитесь, что находитесь в режиме отладки DEBUG=True.
+
Не пойму почему "р" - это ссылка на класс Woman, где это биндилось?
Возможно уже ненужно, но p это элементы из posts
В какой момент "Читать пост" становится кнопкой? В синтаксисе нет ни button, ни input.
полагаю, что это и не кнопка, а просто ссылка, с соответствующим стилем из css
@@АлексейАлексеев-ц8х9т да, так и есть. Но как же в итоге образуется кнопка в этом учебном коде?))
href="{% url 'home' %}" - ни в коем разе не спорю, что так правильнее, но и href="home" при всех остальных равных так же работает. Почему так, не знаю.
УПД:
Я кажись понял. Я хомяка дополнительно прописывал в урлах так же, как и пустой адрес (' ')