您的位置:首页 > 编程语言 > Go语言

Django Paginator

2020-01-15 10:28 1076 查看

Django Paginator

# /blog/views.py

from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage, InvalidPage

paginator = Paginator(blog_info, 6)
if request.method == "GET":
page = request.GET.get('page')
try:
blogs = paginator.page(page)
except PageNotAnInteger:
# 如果请求的页数不是整数, 返回第一页。
blogs = paginator.page(1)
except InvalidPage:
# 如果请求的页数不存在, 重定向页面
return HttpResponse('找不到页面的内容')
except EmptyPage:
# 如果请求的页数不在合法的页数范围内,返回结果的最后一页。
blogs = paginator.page(paginator.num_pages)

return render(request, 'index.html', {'blog_info': blogs})
# /templates/index.html

<div class="row">
<div class="col-12 col-md-4 col-lg-4">
<div class="card-body">
<div class="buttons">
<nav aria-label="Page navigation example">
<ul class="pagination">
{% if blog_info.has_previous %}
<li class="page-item">
<a class="page-link" href="?page={{ blog_info.previous_page_number }}" aria-label="Previous">
<span aria-hidden="true">&laquo;</span>
<span class="sr-only">Previous</span>
</a>
</li>
{% endif %}
<li class="page-item"><span class="page-link" >Page {{ blog_info.number }} of {{ blog_info.paginator.num_pages }}</span></li>
{% if blog_info.has_next %}
<li class="page-item">
<a class="page-link" href="?page={{ blog_info.next_page_number }}" aria-label="Next">
<span aria-hidden="true">&raquo;</span>
<span class="sr-only">Next</span>
</a>
</li>
{% endif %}
</ul>
</nav>
</div>
</div>
</div>
</div>
  • 点赞
  • 收藏
  • 分享
  • 文章举报
ZoeyZhao 发布了18 篇原创文章 · 获赞 1 · 访问量 3949 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: