Исключить тип поста из нумерации страниц - PullRequest
0 голосов
/ 12 ноября 2018

Я использую модель для постов моего блога, которую вы можете увидеть здесь (Это мой старый пост) .

Как вы можете видеть, в этом сообщении я могу указать выделенный пост. Если я использую приведенный ниже код для реализации нумерации страниц в своем блоге, выделенный пост также отправляется на странице, отличной от первой.

  {% for post in posts %}
    {% if post.highlighted == 1 %}
      <h1><strong>Highlighted</strong></h1>
      <a href="{{ post.get_absolute_url }}"><img src="{{ post.header_image }}" alt="Image of {{ post.title }}"></a>
      <h1><a href="{{ post.get_absolute_url }}">{{ post.title }}</a></h1>
      <h4>{{ post.tagline }}</h4>
    {% endif %}
  {% endfor %}
<hr><hr><hr>
  {% for post in posts %}
    {% if post.highlighted == 0 %}
      <h1><strong>Not Highlighted</strong></h1>
      <a href="{{ post.get_absolute_url }}"><img src="{{ post.header_image }}" alt="Image of {{ post.title }}"></a>
      <h1><a href="{{ post.get_absolute_url }}">{{ post.title }}</a></h1>
      <p>{{ post.tagline }}</p>
      <h5>{{ post.publishing_date|date }}</h5>
      {% for keyconcepts in post.keyconcepts.all %}
        <a href="#">#{{ keyconcepts }}</a>&nbsp;
      {% endfor %}
      <hr>
    {% endif %}

  {% endfor %}

  {% block pagination %}
    {% if is_paginated %}
      <div class="pagination px-auto">
        <nav aria-label="Page navigation">
          <ul class="pagination justify-content-center">
              {% if page_obj.has_previous %}
              <li class="page-item">
                <a class="page-link text-center shadow" href="{{ request.path }}?page={{ page_obj.previous_page_number }}">Pagina precedente</a>
              </li>
              {% endif %}
              <li class="page-item disabled">
                <p class="page-link text-center shadow">Pagina {{ page_obj.number }} di {{ page_obj.paginator.num_pages }}.</p>
              </li>
              {% if page_obj.has_next %}
              <li class="page-item">
                <a class="page-link text-center shadow" href="{{ request.path }}?page={{ page_obj.next_page_number }}">Pagina successiva</a>
              </li>
              {% endif %}
          </ul>
        </nav>
      </div>
    {% endif %}
  {% endblock %}

Я бы хотел исключить все выделенные посты из нумерации страниц. Возможно ли это?

Ниже views.py

class ListPost(ListView):
    model = Blog
    context_object_name = 'posts'
    queryset = Blog.objects.filter(category="G.I.S.") #FUNDAMENTAL FILTER
    template_name = "blog/list_post.html"
    paginate_by = 3

1 Ответ

0 голосов
/ 12 ноября 2018
class ListPost(ListView):
    queryset = Blog.objects.filter(is_highlighted=True)
    context_object_name = 'posts'
    template_name = "blog/list_post.html"
    paginate_by = 3

Примечание Blog кажется неправильным. BlogPost кажется более точным.

...