РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
353 of 818 menu

Метод get_full_path

Метод get_full_path применяется к объекту HttpRequest и возвращает строку, содержащую путь запроса с добавленной строкой запроса (если она присутствует). В отличие от атрибута path, который возвращает только путь без параметров, get_full_path включает все параметры GET запроса. Метод часто используется для перенаправления пользователя на ту же страницу с сохранением всех GET параметров, а также для построения абсолютных URL с помощью метода HttpRequest/method/build_absolute_uri/">build_absolute_uri.

Синтаксис

request.get_full_path()

Метод не принимает аргументов и возвращает строку.

Пример . Использование в представлении

Рассмотрим пример, в котором представление возвращает текущий полный путь запроса:

from django.http import HttpResponse def my_view(request): current_path = request.get_full_path() return HttpResponse(f"Current full path: {current_path}")

Результат выполнения кода:

"Current full path: /articles/?category=tech&page=2"

Пример . Использование для редиректа

Метод get_full_path часто применяется в связке с редиректом для возврата пользователя на ту же страницу с сохранением всех параметров:

from django.shortcuts import redirect def process_form(request): if request.method == 'POST': # Обработка данных формы return redirect(request.get_full_path()) return render(request, 'form.html')

Результат выполнения кода:

"Redirecting to: /articles/?category=tech&page=2"

Пример . Сравнение с атрибутом path

Важно понимать разницу между get_full_path и атрибутом path. Атрибут path возвращает только путь без GET параметров:

from django.http import HttpResponse def compare_paths(request): full_path = request.get_full_path() path_only = request.path return HttpResponse(f"Full path: {full_path}\nPath only: {path_only}")

Результат выполнения кода:

"Full path: /articles/?category=tech&page=2\nPath only: /articles/"

Пример . Использование для формирования абсолютных ссылок

Метод get_full_path часто используется с методом build_absolute_uri для получения полного URL с протоколом и доменом:

from django.http import HttpResponse def absolute_url_example(request): full_path = request.get_full_path() absolute_uri = request.build_absolute_uri(full_path) return HttpResponse(f"Absolute URI: {absolute_uri}")

Результат выполнения кода:

"Absolute URI: https://example.com/articles/?category=tech&page=2"

Смотрите также

  • метод build_absolute_uri,
    который строит полный абсолютный URL на основе переданного пути
  • атрибут path,
    который возвращает только путь запроса без строки запроса
  • атрибут GET,
    который содержит QueryDict с параметрами GET запроса
  • функция redirect,
    которая используется для перенаправления на заданный URL
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить