Oii Ramom, como você está?
Peço desculpas pela demora no retorno.
Nesta função temos duas estruturas condicionais if
, a primeira estrutura condicional (if 'buscar' in request.GET
) foi usada com o objetivo de verificar se a string 'buscar'
está presente na requisição do tipo GET. A requisição (request) é um QueryDict, semelhante aos dicionários Python, assim estamos verificando se a chave 'buscar'
está presente nesse dicionário, caso esteja, salvaremos o valor correspondente a chave 'buscar'
, esse valor será o texto digitado pelo usuário.
Ocorrendo na primeira parte da função buscar()
.
if 'buscar' in request.GET:
nome_a_buscar = request.GET['buscar']
Na segunda estrutura condicional (if buscar:
) o termo buscar está fazendo referência à função buscar
. Quando usamos uma função em uma estrutura condicional mas não realizamos a instanciação (chamada) dessa função adicionando os parênteses, seu valor booleano será True
. Assim, nossa validação será verdadeira, dando continuidade na busca pelas receitas e salvando o resultado na variável lista_receita
.
Em resumo temos as seguintes referências.
if 'buscar' in request.GET
: Verifica se a string 'buscar'
está presente na requisição (request)if buscar
: Verifica se a função buscar
é verdadeira.
Na aula Modularizando as views do curso Boas práticas no Django: apps, pastas e paginação, o professor realiza uma refatoração dessa parte do código, deixando-a mais simples e didática, caso queira acompanhar essa refatoração basta acessar o link da aula abaixo.
Fico à disposição em caso de dúvidas.
Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!