Обратное и перенаправление имеют совершенно разные значения.Я действительно удивлен, что вы перепутали эти два.Но вот простое объяснение:
reverse
в Django используется для поиска URL данного ресурса.Допустим, у вас есть блог-сайт, и с главной страницы вы хотите предоставить ссылки на ваши посты в блоге.Конечно, вы можете просто жестко кодировать /posts/123/
и просто изменить идентификатор вашего сообщения в блоге в URL, но в будущем вам будет сложно изменить ваш URL для этого сообщения.
Вот почему Django поставляется с функцией реверса.Все, что вам нужно сделать, это передать имя вашего URL-пути (определенный в ваших urlpatterns), и Django найдет для вас правильный URL-адрес.
Он называется reverse
, потому что фактически это обратный процесс.определения того, какое представление должно вызываться для данного URL (какой процесс называется разрешением).
Перенаправления не относятся к Django или любым другим веб-фреймворкам.Перенаправление означает, что для данного URL (или действия) пользователь должен получить указание посетить конкретный URL.Это можно сделать, отправив браузеру пользователей специальный запрос на перенаправление, и браузер обработает его для пользователя, поэтому никаких действий пользователя в этом процессе не требуется.Вы можете использовать reverse
в процессе перенаправления, чтобы определить URL, на который следует перенаправить пользователя.