Django - Resolvendo visualizações e URLs

Índice
As views e URLs não são chamadas diretamente pelo nosso código, isso se deve à natureza dinâmica das aplicações, a razão é que quanto mais genérico o formulário, é possível utilizá-lo em muitos mais casos.
Então a maneira correta é usar as várias funções que nos permitem resolver as rotas tanto de uma view para uma URL quanto de uma URL para uma view, para isso temos algumas ferramentas chamadas decoradores.
Resolvendo do URL para as visualizações
As Visualizações, por práticas recomendadas não são chamadas diretamente por nosso código, mas sim eles são invocados por meio de chamadas no URL, essas chamadas são processadas e atendidas pelo sistema de despacho da Django.
Um dos aspectos principais neste ponto é que Django usa expressões regulares para fazer a construção da URL que chamará a nossa view, graças a isso podemos passar diversos parâmetros e assim adicionar funcionalidades às nossas views.
UMA padrão de url contém os seguintes aspectos:
  • A expressão regular que nos permite capturar a URL que colocamos como padrão.
  • Uma referência à vista que será chamada.
  • Um dicionário de argumentos que será passado cada vez que a visão for chamada.
  • Um nome que será usado como referência para poder fazer chamadas reversas da visualização.
Resolvendo visualizações para URLs
Em nossas aplicações muitas vezes temos que chamar outras views ou recursos via URL, porém copiar ou codificar rigidamente tais URLs não é uma boa prática, pois se por exemplo houver uma mudança em nosso programa, imagine ter que mudar 20 ou 30 referências para uma URL, para isso podemos usar diferentes métodos para fazer nosso aplicativo procurar a URL sem ter que copiá-la, um desses métodos é usar o Decorador de permalink que podemos ver no próximo ponto.
O decorador do Permalink
Dentro de cada modelo, temos acesso ao método get_absolute_url () que nos permite acessar uma página de detalhes de um objeto diretamente, sem precisar saber como a URL deve ser construída; no entanto, esse método não nos permite passar argumentos, pois é apenas um link retornado.
Para estender a funcionalidade, temos a possibilidade de usar e retornar parâmetros como se fossem do método get_absolute_url ().
Para fazer isso, você deve seguir a seguinte estrutura:
  • O primeiro valor é o nome da visão a ser chamada, se a visão tiver um nome, ele deve ser usado, caso contrário, podemos usar o caminho de importação de vista. Este valor é sempre obrigatório.
  • O segundo valor É uma tupla de argumentos posicionais que devem ser aplicados à visão, caso contrário, podemos deixar este parâmetro em branco.
  • O terceiro valor é um dicionário que une argumentos com seus respectivos valores, esses valores devem ser passados ​​para a view, caso a view não receba nada podemos excluir este valor da chamada.
Vamos ver a seguir como traduzimos isso em um código em Django, para isso vamos incluir o uso de decorador em um modelo:

Como vemos no código da imagem, chamamos o modo de exibição library_article detalhe, o segundo valor passamos vazio já que não é necessário e no terceiro valor indicamos que o object_id deve estar ligado a self.id ou seja, para o id do próprio modelo, então, na última linha, fazemos uso do decorador.Gostou e ajudou este tutorial?Você pode recompensar o autor pressionando este botão para dar a ele um ponto positivo

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave