Olá, tudo bem com você?
Peço desculpas pela demora em lhe responder.
A string buscar faz referência ao atributo name= da tag input presente no arquivo receitas/buscar.html
Ela tem como função verificar o retorno da requisição do tipo GET, por padrão no Django requisições do tipo GET retorna um dicionário, adicionando o atributo name= da tag input como sua chave, e o valor desta chave será o que foi informado pelo usuário no momento da busca.
Assim usamos a estrutura condicional if para verificarmos se a string buscar está presente na requisição GET, if 'buscar' in request.GET, caso esteja, será coletado o valor presente na chave buscar do dicionário da requisição GET e atribuímos esse valor a variável nome_a_buscar, nome_a_buscar = request.GET['buscar'].
Logo após é realizado o filtro buscando por receitas que contém o valor informado pelo usuário, criando assim uma nova lista de receitas com os resultados caso existam, lista_receita = lista_receita.filter(nome_receita__icontains=nome_a_buscar).
Essa lista é atribuída como um valor para a chave 'receitas' do dicionário dados, assim a renderização da página acontece a partir da chave receitas
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!