перенаправление против обратного Django - PullRequest
0 голосов
/ 03 марта 2019

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

Ответы [ 2 ]

0 голосов
/ 03 марта 2019

GwynBleidD дал вам ответ, но есть причина, по которой вы можете запутаться.Ярлык Django redirect принимает аргументы в нескольких различных формах.Одним из них является грива URLpattern с аргументами, которая затем передается в обратном направлении, чтобы создать реальный URL для перенаправления.Но это всего лишь ярлык, чтобы включить общий шаблон.

0 голосов
/ 03 марта 2019

Обратное и перенаправление имеют совершенно разные значения.Я действительно удивлен, что вы перепутали эти два.Но вот простое объяснение:

reverse в Django используется для поиска URL данного ресурса.Допустим, у вас есть блог-сайт, и с главной страницы вы хотите предоставить ссылки на ваши посты в блоге.Конечно, вы можете просто жестко кодировать /posts/123/ и просто изменить идентификатор вашего сообщения в блоге в URL, но в будущем вам будет сложно изменить ваш URL для этого сообщения.

Вот почему Django поставляется с функцией реверса.Все, что вам нужно сделать, это передать имя вашего URL-пути (определенный в ваших urlpatterns), и Django найдет для вас правильный URL-адрес.

Он называется reverse, потому что фактически это обратный процесс.определения того, какое представление должно вызываться для данного URL (какой процесс называется разрешением).

Перенаправления не относятся к Django или любым другим веб-фреймворкам.Перенаправление означает, что для данного URL (или действия) пользователь должен получить указание посетить конкретный URL.Это можно сделать, отправив браузеру пользователей специальный запрос на перенаправление, и браузер обработает его для пользователя, поэтому никаких действий пользователя в этом процессе не требуется.Вы можете использовать reverse в процессе перенаправления, чтобы определить URL, на который следует перенаправить пользователя.

...