Если коротко, функция reverse после первого запроса со стороны браузера пользователя (напр., horoscope/5) конструирует url со строковым значением ("horoscope/leo"), исходя из значений name и args. А HttpResponseRedirect провоцирует повторный request со стороны браузера пользователя по этому url. Пример в лекции довольно искусственный, но зато понятно объясняет механику действия reverse функции. Надеюсь, в будущих лекциях эта функция будет еще не раз применяться на более живых примерах)
Здравствуйте, можно отдельным видео ,по быстрому пробежаться по нашему приожению week_days,несовсем понятно ,что там делать с redirect и Reverse,да и тем более там по несколько аргументов(width,hight) .Спасибо большое!
в комментариях много людей, которые думают, что суть reverse - исправление опечаток пользователя при вводе url. советую таким пересмотреть видео еще раз.
То есть, получается, тот кто вводит адрес с цифрой, должен в первой части адреса ошибиться точно так же как ошибся тот, кто писал этот адрес в файле "my_page". Второй день сижу, конспектирую каждое слово.... но скрытый смысл происходящего так и не улавливается. Ну что же... может позже дойдёт.
Это все здорово конечно, но автор на степике бы курс по ООП до конца довел бы что-ли. Я понимаю что задания на ООП не так легко скопипастить(привет codeforce) но все же, если начал доделал бы до конца.
А не плохо ли это с точки зрения SEO, если много пользователей будут делать ошибки, а сайт будет перенаправлять на правильные страницы, то мы получим множество редиректов с одинаковым содержанием что не есть хорошо в принципе
Функция, в которую вводится число, переадресует ( из-за HttpResponseRedirect) на функцию, которая принимает строку, где в итоге мы получим результат(даже с неправильным адресом). К сожалению, я до этого допер спустя 20 минут проб и ошибок :)
В предыдущем видео оставлял коммент, что ты вкинул идею возвращать инфу о знаке зодиака по порядковому номеру. Ты остановился на реализации "Это число такое-то" и закончил. Дописал эту функциональность самостоятельно. В этом видео что я вижу? Полное описание функции get_info_sign_zodiac_by_number которого не было в предыдущем видео. Я понимаю, что видосы бесплатные, но ощущается это как какое-то предательство, если честно
@@greeshanka8283а в чем прикол, если префикс можно поставить, и его никто не поменяет, ровно как и реверс. Если кто-то испортит урл, он ровно так же будет доступен по испорченному. Смысл от имени и реверса в этом контексте не понятен. Path('horoscope/', include([path('/, horoscope.views, name='horoscope')]) И нейм в основном в данном контексте будет необходим для шаблонизатора в темплейте. В чем смысл реверса непонятно. Если что-то поменяли в урок, значит он не будет доступен по старому, как бы ты не крутил. И если реверс не делает доступным по старому роуту, если кто-то что-то испортил, то смысла 0.
а зачем кому-то что-то ломать? если захочет и этот вариант поломает, пока не понимаю чем плох вариант с явным прописыванием роута, как было сделано до этого урока. Просто интересно как вообще правильно делать во время разработки
это потом будет нужно в функции get_absolute_url, которая позволит правильно связывать базу данных и шаблон. Причем у меня, так сказать, "reverse" - я от этой функции пришел сюда, чтобы понять, че у меня она не работает. И вот у Артема ответ нашелся)) хотя он до get_absolute_url еще не дошел)
По мне так надо делать либо весь курс платным за спонсорство либо недоступные видео что бы объясняли что то дополнительное но без ущерба основному потоку знаний, а между 14 и 16 видео в 15 видео идет объяснение с редактированием кода и при просмотре 16 видео появляется сильный пробел в понимание...в таком случае бесплатное обучение теряет свой смысл потому что явно наталкивает на устранение пробела путем доната.... но не все могут себе это позволить, отсюда противоречие идеологии этого цикла или канала в общем....
@@Igor160594 да я согласен и вообще не жалко, просто я нахожусь в такой стране где это сделать не то что бы не возможно, но прям крайне тяжело. И посыл не в этом, а в том что если курс называется как бы бесплатный и все доступный, то сделайте его полноценным, а доп информацию за деньги, а не так что основная инфа теряется в платном видео и сыпется цепочка....
Если коротко, функция reverse после первого запроса со стороны браузера пользователя (напр., horoscope/5) конструирует url со строковым значением ("horoscope/leo"), исходя из значений name и args. А HttpResponseRedirect провоцирует повторный request со стороны браузера пользователя по этому url. Пример в лекции довольно искусственный, но зато понятно объясняет механику действия reverse функции. Надеюсь, в будущих лекциях эта функция будет еще не раз применяться на более живых примерах)
Надо будет пересмотреть, так как сложновато в плане понимания.
reverse - это один из инструментов обратного разрешения URL. Надеюсь, по этому вопросу материал будет в будущих уроках.
0:24 внесение информации в словарь
0:50 задача
2:19 присвоение урл имени
2:58 импорт и применение реверс
Здравствуйте, можно отдельным видео ,по быстрому пробежаться по нашему приожению week_days,несовсем понятно ,что там делать с redirect и Reverse,да и тем более там по несколько аргументов(width,hight) .Спасибо большое!
Здорово! Спасибо!
спасибо за видео!
Недавно знакомый программист по PLSQL выразился не захардкоден, а код был прибит гвоздями =)
в комментариях много людей, которые думают, что суть reverse - исправление опечаток пользователя при вводе url. советую таким пересмотреть видео еще раз.
Привет, а почему у вас идут пропуски в нумерации уроков? каких то не хватает?
То есть, получается, тот кто вводит адрес с цифрой, должен в первой части адреса ошибиться точно так же как ошибся тот, кто писал этот адрес в файле "my_page". Второй день сижу, конспектирую каждое слово.... но скрытый смысл происходящего так и не улавливается. Ну что же... может позже дойдёт.
Это все здорово конечно, но автор на степике бы курс по ООП до конца довел бы что-ли. Я понимаю что задания на ООП не так легко скопипастить(привет codeforce) но все же, если начал доделал бы до конца.
Это все здорово конечно, но комментарий пассивноагрессивный
@@egoroffchannel Прости если так показалось, курс классный :) Просто это крик отчаянья ;(
Не будет ли проста если писать код:
HttpResponseRedirect( f"{ name-zodiac }" ), вместо reverse(). Мне кажется функсия reverse() для друговова дела.
17 урок не открывается
Как у вас появился второй urls.py?
один ursl из пакета horoscope, а второй из пакета my_page
у кого вылазит ошибка
'set' object is not reversible
в файле horoscope/urls у данных переменной urlpatterns замените фигурные скобки на квадратные
reverse позволяет по имени вьюхи получить её url, если изменится URL имя не поменяется !
Хотел купить курс, но патреон не принимает мою карту почемуто
"Please enter a valid credit card number".
Может не принимать зарплатную. Создайте виртуальную на том же счёте и попробуйте с неё
интересно, что мы указываем имя в path для строк(где тип str), но срабатывает этот код так же и в функции с цифрами, не совсем понял этот момент...(
а ясно, на него редирект
А не плохо ли это с точки зрения SEO, если много пользователей будут делать ошибки, а сайт будет перенаправлять на правильные страницы, то мы получим множество редиректов с одинаковым содержанием что не есть хорошо в принципе
а почему именно роуту str даем имя?
потому что именно этот роут нам нужен и именно он отвечает за вывод информации о знаке
Функция, в которую вводится число, переадресует ( из-за HttpResponseRedirect) на функцию, которая принимает строку, где в итоге мы получим результат(даже с неправильным адресом). К сожалению, я до этого допер спустя 20 минут проб и ошибок :)
в чем разница, по сравнению с тем, что если у вас поменялось имя, и тоже нужно переделывать во всем коде места, где используется это имя?
В предыдущем видео оставлял коммент, что ты вкинул идею возвращать инфу о знаке зодиака по порядковому номеру. Ты остановился на реализации "Это число такое-то" и закончил. Дописал эту функциональность самостоятельно. В этом видео что я вижу?
Полное описание функции get_info_sign_zodiac_by_number которого не было в предыдущем видео.
Я понимаю, что видосы бесплатные, но ощущается это как какое-то предательство, если честно
А. "Пропущено" 15 видео. Хоть бы предупредил, что следующий урок будет доступен спонсорам...
@@dogbusiness5201 по-моему 2 доллара за отличную РАБОТУ автора можно себе позволить
Автор действительно молодец !
Простите,я не догоняю.Зачем кто-то внесет изменения в код,вернее его испортит?Значимость данной функции не могу понять
Ответ таится в имени, которое ты точно не станешь изменять.
@@greeshanka8283а в чем прикол, если префикс можно поставить, и его никто не поменяет, ровно как и реверс. Если кто-то испортит урл, он ровно так же будет доступен по испорченному. Смысл от имени и реверса в этом контексте не понятен.
Path('horoscope/', include([path('/, horoscope.views, name='horoscope')])
И нейм в основном в данном контексте будет необходим для шаблонизатора в темплейте.
В чем смысл реверса непонятно.
Если что-то поменяли в урок, значит он не будет доступен по старому, как бы ты не крутил. И если реверс не делает доступным по старому роуту, если кто-то что-то испортил, то смысла 0.
а зачем кому-то что-то ломать? если захочет и этот вариант поломает, пока не понимаю чем плох вариант с явным прописыванием роута, как было сделано до этого урока. Просто интересно как вообще правильно делать во время разработки
это потом будет нужно в функции get_absolute_url, которая позволит правильно связывать базу данных и шаблон. Причем у меня, так сказать, "reverse" - я от этой функции пришел сюда, чтобы понять, че у меня она не работает. И вот у Артема ответ нашелся)) хотя он до get_absolute_url еще не дошел)
По мне так надо делать либо весь курс платным за спонсорство либо недоступные видео что бы объясняли что то дополнительное но без ущерба основному потоку знаний, а между 14 и 16 видео в 15 видео идет объяснение с редактированием кода и при просмотре 16 видео появляется сильный пробел в понимание...в таком случае бесплатное обучение теряет свой смысл потому что явно наталкивает на устранение пробела путем доната.... но не все могут себе это позволить, отсюда противоречие идеологии этого цикла или канала в общем....
этот донат стоит стоит как пачка сигарет... это совсем небольшая сумма, но пользы будет куда больше
@@Igor160594 да я согласен и вообще не жалко, просто я нахожусь в такой стране где это сделать не то что бы не возможно, но прям крайне тяжело.
И посыл не в этом, а в том что если курс называется как бы бесплатный и все доступный, то сделайте его полноценным, а доп информацию за деньги, а не так что основная инфа теряется в платном видео и сыпется цепочка....
Для этого есть открытые комментарии. Задавай правильные вопросы - уверен на них дадут ответы
Чет уже рил нихрена не понятно
Курс такое, после одного занятия изменяется код и ты не знаешь что делать диз, прости
Подписаться на полный курс, что ещё делать то тут)
Не понятно зачем нужен HttpResponseRedirect, если можно вернуть HttpResponse(zodiac_dict[name_zodiac]).
Не знаю. У меня и так всё работает, без "гороскоп". return HttpResponseRedirect(f"{name_zodiac}")