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

Класс HttpResponseRedirect

Класс HttpResponseRedirect применяется для создания HTTP-ответа с кодом статуса 302. Он принимает один обязательный аргумент - URL, на который следует перенаправить пользователя. URL может быть абсолютным или относительным. В большинстве случаев для формирования URL удобно использовать функцию reverse.

Синтаксис

from django.http import HttpResponseRedirect HttpResponseRedirect(redirect_to)

Параметр redirect_to может содержать полный URL, относительный путь или именованный маршрут, преобразованный функцией reverse.

Пример . С относительным URL

Рассмотрим простой пример перенаправления на главную страницу сайта:

from django.http import HttpResponseRedirect def home_redirect_view(request): return HttpResponseRedirect('/')

Пример . С функцией reverse

Более правильный подход - использование функции reverse для получения URL по имени маршрута:

from django.http import HttpResponseRedirect from django.urls import reverse def login_success_view(request): return HttpResponseRedirect(reverse('profile'))

Пример . С динамическими параметрами

Если URL содержит динамические параметры, их можно передать в функцию reverse:

from django.http import HttpResponseRedirect from django.urls import reverse def article_edit_view(request, article_id): return HttpResponseRedirect( reverse('article-detail', args=[article_id]) )

Пример . С аргументами в виде словаря

Параметры можно передавать также в виде именованных аргументов:

from django.http import HttpResponseRedirect from django.urls import reverse def category_view(request, category_slug): return HttpResponseRedirect( reverse('post-list', kwargs={'slug': category_slug}) )

Пример . С абсолютным URL

Класс может принимать и полный URL-адрес для перенаправления на внешний ресурс:

from django.http import HttpResponseRedirect def external_redirect_view(request): return HttpResponseRedirect('https://example.com')

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

  • функция redirect,
    которая является удобной оберткой над классом HttpResponseRedirect
  • класс HttpResponsePermanentRedirect,
    который возвращает код статуса 301 для постоянного перенаправления
  • класс HttpResponse,
    который является базовым классом для всех HTTP-ответов
  • функция reverse,
    которая используется для преобразования именованных маршрутов в URL-адреса
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить