Как получить предыдущий URL в Django - PullRequest
12 голосов
/ 30 ноября 2011

Я приведу пошаговую информацию.

Допустим, мы на странице about, URL-адрес sample.com/about.При нажатии на кнопку «Отправить другу» отправляется URL-адрес sample.com/emailafriend.Затем, когда я нажал кнопку «Отправить», URL-адрес реферала будет отправлен на sample.com/emailafriend.Вопрос, как получить URL страницы?Кстати, я использую request.META['HTTP_REFERER'].

Ответы [ 4 ]

11 голосов
/ 30 ноября 2011

Вы можете работать с атрибутом пути запроса и добавить его к атрибуту действия вашей формы, например, так:

<form method="post" action="/tell-a-friend?return_url={{ request.path }}">
...
</form>

Затем, в вашем представлении "расскажи другу", HttpResponseRedirect к параметру запроса return_url.

1 голос
/ 27 июня 2013

И если вы получите пустую переменную request в шаблоне, посмотрите этот пост

1 голос
/ 30 ноября 2011

Похоже, что вы используете APPEND_SLASH , который сделает перенаправление, если у вас нет слеша. Попробуйте изменить ссылку кнопки на sample.com/emailafriend/, обратите внимание на конечный слеш.

0 голосов
/ 30 ноября 2011

Может быть, просто передать sample.com/about в качестве параметра GET или POST?Или даже через сессию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...