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

Введение в редиректы в Django

При обращении к одному адресу можно перенаправить клиента на другой. Для этого представление возвращает редирект - ответ со статусом 302 и заголовком Location.

Пусть есть два маршрута:

urlpatterns = [ path('post/show1/', views.show1), path('post/show2/', views.show2), ]

И два представления, которые пока просто отдают текст:

from django.http import HttpResponse def show1(request): return HttpResponse('show1') def show2(request): return HttpResponse('show2')

Сделаем так, чтобы при обращении к show1 выполнялась переадресация на show2. Удобнее всего - функция redirect:

from django.shortcuts import redirect from django.http import HttpResponse def show1(request): return redirect('/post/show2/') def show2(request): return HttpResponse('show2')

Тот же эффект дает класс HttpResponseRedirect:

from django.http import HttpResponseRedirect def show1(request): return HttpResponseRedirect('/post/show2/')

Выполните редирект с одного представления на другое.

Сделайте форму, спрашивающую у пользователя число. После отправки формы, если введено число от 1 до 10, выполните редирект на другое представление.

Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить