DjangoPaginator

Last updated

Last updated
from django.core.paginator import Paginator
def index(request):
# articles = Article.objects.order_by('-updatedAt')
articles = Article.objects.filter(deletedAt=None).filter(status=2).order_by('-updatedAt')
categories = Category.objects.filter(deletedAt=None)
tags = Tag.objects.all()
# 分页
paginator = Paginator(articles, 5)
page = request.GET.get('page')
if not page:
page = 1
articles = paginator.get_page(page)
context = {
'articles': articles,
'categories': categories,
'tags': tags,
}
return render(request, 'blog/blog_image_rs.html', context)<div class="ed_blog_bottom_pagination">
<div class="row">
<nav>
<ul class="pagination">
{% if articles.has_previous %}
<li><a href="?page=1">1</a></li>
<li><a href="?page={{articles.previous_page_number}}">previous</a></li>
{% endif %}
<li class="active"><a href="#">{{articles.number}}</a></li>
{% if articles.has_next %}
<li><a href="?page={{articles.next_page_number}}">next</a></li>
<li><a href="?page={{articles.paginator.num_pages}}">last</a></li>
{% endif %}
</ul>
</nav>
</div>
</div>