Em Django, as views são uma parte crucial do sistema, pois elas são responsáveis por processar as solicitações HTTP e retornar uma resposta HTTP. Uma das funcionalidades importantes das views é a capacidade de redirecionar URLs, o que é essencial para a navegação eficaz em um site. Neste capítulo do nosso curso de criação de sistemas com Python e Django, vamos explorar a fundo o conceito de redirecionamento de URLs.

Em termos simples, o redirecionamento de URLs é um processo que envia um usuário de uma URL para outra. Isso pode ser útil em várias situações. Por exemplo, você pode querer redirecionar os usuários para uma página de login se eles tentarem acessar uma página que exige autenticação. Alternativamente, você pode querer redirecionar os usuários para uma página diferente se a página que eles estão tentando acessar não existir.

Para começar com o redirecionamento de URLs em Django, você precisará importar a função redirect do módulo django.shortcuts. Esta função aceita um argumento que é a URL para a qual você deseja redirecionar o usuário.

Aqui está um exemplo simples de como você pode usar a função redirect:

from django.shortcuts import redirect

def my_view(request):
    ...
    return redirect('/another-url/')

Neste exemplo, a função my_view redireciona o usuário para '/another-url/'. Note que a URL que você passa para a função redirect deve ser uma string.

Uma coisa importante a notar é que a função redirect não termina a execução da view. Isso significa que qualquer código que vem depois da chamada para redirect será executado, mesmo que o usuário seja redirecionado para outra página. Portanto, é uma boa prática colocar a chamada para redirect no final da sua view.

Além de aceitar uma string que representa uma URL, a função redirect também pode aceitar um objeto de modelo. Neste caso, Django irá chamar o método get_absolute_url do objeto de modelo para obter a URL para a qual redirecionar o usuário. Isso pode ser útil se a URL para a qual você deseja redirecionar o usuário depende de algum dado no objeto de modelo.

from django.shortcuts import redirect

def my_view(request):
    ...
    my_object = MyModel.objects.get(pk=1)
    return redirect(my_object)

Aqui, a função my_view redireciona o usuário para a URL retornada pelo método get_absolute_url do objeto my_object.

Outra maneira de usar a função redirect é passar o nome de uma view como argumento. Neste caso, Django irá usar a função reverse para determinar a URL da view e redirecionar o usuário para essa URL.

from django.shortcuts import redirect

def my_view(request):
    ...
    return redirect('name-of-view')

Neste exemplo, a função my_view redireciona o usuário para a URL da view cujo nome é 'name-of-view'. Note que o nome da view que você passa para a função redirect deve ser uma string.

Em resumo, o redirecionamento de URLs é uma técnica poderosa que permite controlar o fluxo de navegação em seu site. Django fornece a função redirect para facilitar o redirecionamento de URLs, e esta função pode aceitar uma string que representa uma URL, um objeto de modelo ou o nome de uma view como argumento.

Esperamos que este capítulo tenha lhe dado uma compreensão clara de como o redirecionamento de URLs funciona em Django. No próximo capítulo, vamos explorar outro conceito importante em Django: os modelos.

Agora responda o exercício sobre o conteúdo:

O que a função redirect em Django aceita como argumento para redirecionar URLs?

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

Imagem do artigo Views em Django: Trabalhando com autenticação

Próxima página do Ebook Gratuito:

99Views em Django: Trabalhando com autenticação

4 minutos

Ganhe seu Certificado deste Curso Gratuitamente! ao baixar o aplicativo Cursa e ler o ebook por lá. Disponível na Google Play ou App Store!

Disponível no Google Play Disponível no App Store

+ de 6,5 milhões
de alunos

Certificado Gratuito e
Válido em todo o Brasil

48 mil exercícios
gratuitos

4,8/5 classificação
nas lojas de apps

Cursos gratuitos em
vídeo, áudio e texto