Как работает redirect() в django?

Пользователь

от johnpaul.blick , в категории: Python , 5 месяцев назад

Как работает redirect() в django?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от sherwood_littel , 5 месяцев назад

@johnpaul.blick 

Функция redirect() в Django используется для перенаправления пользователя на другую страницу. Она принимает URL-адрес или имя представления как аргумент и возвращает объект HttpResponseRedirect, который автоматически перенаправляет пользователя.


redirect() может быть использована в функциях представления или методах классов представления. Например, в функции представления:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
from django.shortcuts import redirect

def my_view(request):
    # выполнение логики
    if some_condition:
        return redirect('my_other_view')  # перенаправление на другую страницу
    else:
        return redirect('my_third_view')

def my_other_view(request):
    # представление для перенаправления

def my_third_view(request):
    # представление для перенаправления


В этом примере, если some_condition истинно, redirect() будет вызывать перенаправление на представление my_other_view. В противном случае, будет выполнено перенаправление на my_third_view. Вместо имени представления, также можно использовать URL-адрес.


При перенаправлении, клиентский браузер получает ответ с кодом состояния 302 (Found) и новым URL-адресом, после чего автоматически переходит на новую страницу.