Olá Ivan, tudo bem com você?
Peço desculpas pela demora em lhe responder.
Analisando o código apresentado, na segunda cláusula condicional if
(if buscar) no momento em que é passado os parâmetros para o método tilter
, temos a seguinte linha de código nome_receita__icontains==nome_a_buscar
, note que é feito o uso de dois iguais (==), assim está verificando a igualdade entre os dois parâmetros, o correto seria realizar a atribuição, usando um igual (=).
Basta deixar com apenas um igual, como apresentado abaixo, salvar o arquivo e iniciar o servidor.
lista_receitas = lista_receitas.filter(nome_receita__icontains=nome_a_buscar)
Método buscar
completo para comparação
def buscar(request):
lista_receitas = Receita.objects.order_by('-data_receita').filter(publicada=True)
if 'buscar' in request.GET:
nome_a_buscar = request.GET['buscar']
if buscar:
lista_receitas = lista_receitas.filter(nome_receita__icontains=nome_a_buscar)
dados = {
'receitas' : lista_receitas
}
return render(request, 'buscar.html')
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!