'back_url' %}"> Назад </a>
в urls
path('back_url', views.back_url, name='back_url'),
в view
def back_url(request):
referer = request.META.get('HTTP_REFERER')
return HttpResponseRedirect(referer)
По итогу при нажатии кнопки назад я получаю ту же страницу, потому что во вьюшке
referer мне возвращает ту страницу с которой я нажал назад)))
как правильно сделать ??
request.META.get('HTTP_REFERER') - тут скорее всего пусто
нет, там страница с которой я нажал кнопку назад, то есть уже текущая страница
аа, я понял) ты переходишь во вьюху по ссылке, в HTTP_REFERER урл становится на эту вьюху и ты редиректишся на нее
да)) как правильно сделать тогда ?
во вьюхе, где ссылка "назад" - попробуй сразу вставлять нужный урл
Все неправильно сделал. Во-первых, лишняя вьюха с маршрутам тут нах не нужна - она не только избыточна, но и бесполезна. Во-вторых, ты не ознакомился, как работает HTTP перед тем, как пользоваться заголовками. В итоге, информацию об изначальном источнике перехода ты безвозвратно теряешь, т.к. никуда не сохранил. В третьих, начал что-то писать, не подумав предварительно над архитектурой. Результат предсказуемый. Убери это порно, маршрут тоже убери, ссылку возврата проверяй, во-первых, на наличие (ее может не быть вообще), во-вторых - на принадлежность именно твоему сайту. Если проверки проходит - передавай на фронт и там уже используй под гиперссылки. Напрямую, а не через три пизды залупу через какие-то левые адреса и вьюхи.
я удивлен, что ты что-то понял 😃 я сам плохо представляю что написал
пипец ты матершинник 😂
а так правильней ? ) <a href="{{request.META.HTTP_REFERER}}"> Назад </a>
Обсуждают сегодня