DJANGO分页的简单实现

urls.py

url(r'^get_updates.html$', views.get_updates),

views.py

from django.shortcuts import render,render_to_response,redirect,HttpResponse,HttpResponseRedirect
from django.core.paginator import Paginator,EmptyPage,PageNotAnInteger
def get_updates(request):
    uplists=app1.models.UPDATES.objects.all().order_by("-DATES")

    paginator = Paginator(uplists, 20) # Show 20 contacts per page
    page = request.GET.get('page')
    try:
        uplistspage = paginator.page(page)
    except PageNotAnInteger:
        uplistspage = paginator.page(1)

    except EmptyPage:
        uplistspage = paginator.page(paginator.num_pages)

    return render(request,'get_updates.html',{'uplists':uplistspage})

get_updates.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
{% for row in uplists %}

                <td>更新时间:{{ row.DATES|date:"Y/m/d" }}</td></br>
                <td>更新系统:{{ row.systemnames }}</td></br>
                <td>更新内容:{{ row.descripts }}</td></br>
    <td>更新结果:{{ row.okays }}</td></br>
     <td>联系人:{{ row.contacts }}</td>
                <td>
                    <a href="/edit_updates.html?id={{ row.id }}">编辑</a>|
                    <a href="/del_updates.html?id={{ row.id }}">删除</a>

</br>
                </td>


    <hr style="height:3px;border:none;border-top:3px double red;" />
        {% endfor %}

<div class="pagination">
    <span class="step-links">
        {% if uplists.has_previous %}
            <a href="?page={{ uplists.previous_page_number }}">previous</a>
        {% endif %}

扫描二维码关注公众号,回复: 2472027 查看本文章

        <span class="current">
            Page {{ uplists.number }} of {{ uplists.paginator.num_pages }}.
        </span>

        {% if uplists.has_next %}
            <a href="?page={{ uplists.next_page_number }}">next</a>
        {% endif %}
    </span>
</div>

</body>
</html>

效果如下:

猜你喜欢

转载自blog.csdn.net/lsysafe/article/details/81198707