博客
关于我
强烈建议你试试无所不能的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

你可能感兴趣的文章
Python在自动化运维时最常用的50个方法(转)
查看>>
Java 学习之路 之 泛型方法
查看>>
Test
查看>>
C# 整理
查看>>
AngularJS中使用$resource
查看>>
[poj3261]Milk Patterns(后缀数组)
查看>>
[luogu3369]普通平衡树(fhq-treap模板)
查看>>
题解 P2799 【国王的魔镜】
查看>>
写写代码,注意注意细节
查看>>
css Backgroud-clip (文字颜色渐变)
查看>>
安装 OpenSSL 工具
查看>>
用长微博工具发布长微博
查看>>
大庆金桥帆软报表案例
查看>>
方维分享系统,个人中心杂志社显示我的、关注的、推荐的数量
查看>>
JavaScript BOM加载事件
查看>>
Java复习总结——详细理解Java反射机制
查看>>
Navicat for MySQL10.1.7注册码
查看>>
Proxy模式
查看>>
读书多些会怎样
查看>>
浏览器好用的技术
查看>>