从分页中排除 post 类型
Exclude a type of post from pagination
我在博客的 post 中使用了一个模型,您可以看到 。
如您所见,在那个模型中,我有一个选项来指示突出显示 post。如果我使用下面的代码在我的博客上实现分页,突出显示的 post 也会发送到与第一个页面不同的页面中。
{% 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>
{% 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 %}
我想从分页中排除所有突出显示的 post。可能吗?
低于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
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
似乎更准确。
我在博客的 post 中使用了一个模型,您可以看到
如您所见,在那个模型中,我有一个选项来指示突出显示 post。如果我使用下面的代码在我的博客上实现分页,突出显示的 post 也会发送到与第一个页面不同的页面中。
{% 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>
{% 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 %}
我想从分页中排除所有突出显示的 post。可能吗?
低于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
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
似乎更准确。