博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
django paginator 分页功能
阅读量:4355 次
发布时间:2019-06-07

本文共 2087 字,大约阅读时间需要 6 分钟。

django 自带了一个分页的功能 ,使用起来很方便 。下面是使用方法 :

views.pydef index(request):    context  =  {}    article = Article.objects.all()    page = request.GET.get('page',1)    context = get_paginator(article,page)    return render(request, 'home/index.html',context)为了让主函数不要过于复杂,将分页器的功能分离出来了。

分页的主代码 :

from django.core.paginator import Paginator,InvalidPage,EmptyPage,PageNotAnIntegerdef get_paginator(obj,page):    page_size = 10 #每页显示的数量    after_range_num = 5    before_range_num = 6     context = {}    try:        page = int(page)        if page <1 :            page = 1     except ValueError:        page = 1     paginator = Paginator(obj,page_size)    try:        obj = paginator.page(page)    except(EmptyPage,InvalidPage,PageNotAnInteger):        obj = paginator.page(1)        if page >= after_range_num:        page_range = paginator.page_range[page-after_range_num:page+before_range_num]    else:        page_range = paginator.page_range[0:int(page)+before_range_num]        context["page_objects"]=obj    context["page_range"]=page_range    return context

templates 中如下实现:

{% for article in page_objects.object_list %}

{
{article.subject}}

{

{article.content|safe|escape}}

{%endfor%}

{% if page_objects.has_previous %} {% trans "next page"%} {% endif %} {% for p in page_range %} {% ifequal p page_objects.number %} { {p}} {% else %}{

{p}}{% endifequal %} {% endfor %} {% if page_objects.has_next %} {% trans "next page"%} {% endif %} {%if page_objects.paginator.num_pages%} {
{ page_objects.paginator.num_pages }}{% trans "page"%}{%endif%}

转载于:https://www.cnblogs.com/yeelone/archive/2012/11/15/2771050.html

你可能感兴趣的文章
QT窗体显示在屏幕中间位置
查看>>
emmet使用技巧
查看>>
RPC-Thrift(二)
查看>>
MSSQL for Linux 安装指南
查看>>
【Golang 接口自动化08】使用标准库httptest完成HTTP请求的Mock测试
查看>>
洛谷 P1036 选数
查看>>
女性社区TOP10
查看>>
BP神经网络算法推导及代码实现笔记zz
查看>>
前端必读:浏览器内部工作原理
查看>>
每天一个Linux命令(16)--which命令
查看>>
libevent文档学习(一)多线程接口和使用
查看>>
【补hackbar的坑】关于hackbar需要钱的补救措施
查看>>
纤程与Quasar
查看>>
MySQL的一个麻烦事
查看>>
Uri、URL和URN三者的区别
查看>>
数据字典的转换
查看>>
二维数组按照指定的字段排序的函数
查看>>
在IAR下通过Jlink将程序直接下载到Flash指定地址
查看>>
POJ2560-雀斑(Freckles)【图论,并查集,最小生成树,KURUSKAL】
查看>>
[Angular] Tree shakable provider
查看>>