美文网首页生活不易 我用python
轻松搞定Django分页功能

轻松搞定Django分页功能

作者: 画星星高手 | 来源:发表于2018-07-06 17:30 被阅读26次

view代码

from django.core.paginator import Paginator

def announcement(request):
    ctx = {
        'global': GlobalCtx,
        'announcements': models.Announcement.objects.all(),
    }

    paginator = Paginator(ctx['announcements'], Config.admin.paginator_limit)  # Config.admin.paginator_limit 每一页显示数量
    ctx['paginator'] = paginator.page(request.GET.get('page', '1'))
    return render(request, 'announcement.html', ctx)

网页代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" crossorigin="anonymous">

</head>
<body class="container">
<table class="table table-striped table-bordered table-hover table-condensed">
    <thead>
    <tr class="danger">
        <th>时间</th>
        <th>发布者</th>
        <th>标题</th>
        <th>内容</th>
    </tr>
    </thead>
    <tbody>
    {% if paginator %}
        {% for a in paginator %}
            <tr class="{% cycle 'active' 'success' 'warning' 'info' %}">
                <td>{{ a.publish|date:'Y-m-d H:i:s' }}</td>
                <td>{{ a.username }}</td>
                <td>{{ a.title }}</td>
                <td>{{ a.content }}</td>
            </tr>
        {% endfor %}
    {% else %}
        <tr>
            <td colspan="4">无数据</td>
        </tr>
    {% endif %}
    </tbody>
</table>

<!-- 分页开始 -->
<div>
    <ul class="pagination">
        <li><a href="/console/announcement?page=1">首页</a></li>
        {% if paginator.has_previous %}
            <li><a href="/console/announcement?page={{ paginator.previous_page_number }}">上一页</a></li>
        {% endif %}

        {% for num in paginator.paginator.page_range %}
            <li><a href="/console/announcement?page={{ num }}">{{ num }}</a></li>
        {% endfor %}

        {% if paginator.has_next %}
            <li><a href="/console/announcement?page={{ paginator.next_page_number }}">下一页</a></li>
        {% endif %}
        <li><a href="/console/announcement?page={{ paginator.paginator.num_pages }}">尾页</a></li>
    </ul>
</div>
<!-- 分页结束 -->

</body>
</html>

效果

image.png

About


了解更多有趣的操作请关注我的微信公众号:DealiAxy
每一篇文章都在我的博客有收录:blog.deali.cn

相关文章

  • 轻松搞定Django分页功能

    view代码 网页代码 效果 About 了解更多有趣的操作请关注我的微信公众号:DealiAxy每一篇文章都在我...

  • (14)Django - 分页功能

    Django已为开发者内置了分页功能,只需调用Django内置分页功能的函数即可实现数据分页功能。我们在Djang...

  • 第20天,分页器

    本篇写了使用Django自有的分页器paginator的用法和自定制分页器 1.1 Django之分页功能 Dj...

  • 最浅显易懂的Django系列教程(33)-分页

    分页 在Django中实现分页功能非常简单。因为Django已经内置了两个处理分类的类。分别是Paginator和...

  • 关于Django框架中分页器的使用

    最近搬码的时候需要在Django框架中用到分页功能,于是就去百度了一下。 django框架中实现分页功能可以有很多...

  • django分页功能

    Django中已经实现了很多功能,基本上只要我们需要的功能,都能够找到相应的包。要在Django中实现分页显示,只...

  • Django分页功能

    之前分页功能都是自己写的,后来觉得不对,这么牛逼的框架不带分页功能是不是说不过去,于是乎... ... 果然有。 ...

  • Django: 分页功能

    成果: 代码:在之后的步骤中在相信说明吧 步骤: 1.这个mongoengine需要pip安装的pip insta...

  • 7.drf分页

    drf分页功能 文档 地址:http://www.django-rest-framework.org/api-gu...

  • Django 实现分页功能

    当页面因需要展示的数据条目过多,导致无法在一个页面全部显示。这时,页面经常会采用分页形式进行展示,然后每页显示 2...

网友评论

本文标题:轻松搞定Django分页功能

本文链接:https://www.haomeiwen.com/subject/bbebuftx.html