17.7. Views em Django: Redirecionamento de URLs

Página 98

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.

Répondez maintenant à l’exercice sur le contenu :

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

Tu as raison! Félicitations, passez maintenant à la page suivante

Vous avez raté! Essayer à nouveau.

Page suivante de lebook gratuit :

9917.8. Views em Django: Trabalhando com autenticação

Obtenez votre certificat pour ce cours gratuitement ! en téléchargeant lapplication Cursa et en lisant lebook qui sy trouve. Disponible sur Google Play ou App Store !

Get it on Google Play Get it on App Store

+ 6,5 millions
d'étudiants

Certificat gratuit et
valide avec QR Code

48 mille exercices
gratuits

Note de 4,8/5 dans les
magasins d'applications

Cours gratuits en
vidéo, audio et texte