Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
1
resposta

Else invalido: Erro: 'else',expected'empty'or'endfor'.Did you forget to register or load this tag?

Erro: Template Syntax Error

Views:

def index(request):
    receitas = Receita.objects.order_by('-data_criacao').filter(publicada=True)
    paginator = Paginator(receitas, 6)
    page = request.GET.get('page')
    receitas_por_pagina = paginator.get_page(page)

    return render(request, 'receitas/index.html', {'receitas': receitas_por_pagina})

HTML:

<section class="top-catagory-area section-padding-20-0">
  <div class="container">
    {% if receitas.has_other_pages %}
    <ul class="pagination">
      {% if receitas.has_previous %}
      <li class="page-item">
        <a href="?page={{ receitas.previous_page_number }}" class="page-link"
          >«</a
        >
      </li>
      {% else %}
      <li class="page-item disabled">
        <a class="page-link">«</a>
      </li>
      {% endif %} {% for pagina in receitas.paginator.page_range %} {% if
      receitas.number == pagina %}
      <li class="page-item active">
        <a class="page-link">{{ pagina }}</a>
      </li>
      {% else %}
      <li class="page-item">
        <a href="?page={{pagina}}" class="page-link">{{pagina}}</a>
      </li>
      {% endif %} {% endfor %} {% if receitas.has_next %}
      <li class="page-item">
        <a href="?page={{ receitas.next_page_number }}" class="page-link"
          >»</a
        >
      </li>
      {% else %}
      <li class="page-item disabled">
        <a class="page-link">»</a>
      </li>
      {% endif %}
    </ul>
    {% endif %}
  </div>
</section>
1 resposta
solução!

O erro está no fato do if quebrar linhas, isso ocorreu pela formatão ao salvar do VS Code, para corrigir apenas adicionei um comentario na linha acima, apesar de ser uma certa gambiarra, não poluí o codigo, segue a solução:

Uma tag de modelo deve começar (com {%) e terminar (com %}) na mesma linha. Caso contrário, o analisador de linguagem de template do Django apresentará um erro.

Erro:

 {% endif %} {% for pagina in receitas.paginator.page_range %} {% if
      receitas.number == pagina %}
      <li class="page-item active">
        <a class="page-link">{{ pagina }}</a>
      </li>

Solução:

 {% endif %} {% for pagina in receitas.paginator.page_range %} 
 <!---->
 {% if receitas.number == pagina %}
      <li class="page-item active">
        <a class="page-link">{{ pagina }}</a>
      </li>