Django 数据分页

在列表显示数据时,分页显示是必不可少的功能,活不多说,直接干货拿走,django提供了一个分页器Paginator,下面的例子说明如何使用它。


1,写一个带分页功能的查询方法

编辑 mywebwebviews.py文件,加入如下代码


from models import Tasks

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

from django.views.decorators import csrf


#任务列表

def task_list(request):

contact_list = Tasks.objects.all().order_by('-task_start_date')

#每页显示25条

paginator = Paginator(contact_list, 25)

page = request.GET.get('page')

try:

contacts = paginator.page(page)

except PageNotAnInteger:

contacts = paginator.page(1)

except EmptyPage:

contacts = paginator.page(paginator.num_pages)


return render(request, 'taskList.html', {'contacts': contacts})


这里是将数据返回到前端页面 taskList.html页面。



2,前端页面获取并显示数据

在mywebweb emplates目录新建一个taskList.html文件,内容如下:

{% extends 'base.html' %}

{% block content %}

{% if contacts.paginator.count > 0 %}

{% for contact in contacts %}

{% endfor %}

{% else %}

{% endif %}

任务名称操作者任务描述开始日期结束日期任务评价
{{ contact.task_name }} {{ contact.task_user }} {{ contact.task_describe }} {{ contact.task_start_date }} {{ contact.task_end_date }} {{ contact.task_result }}
没有任务数据



{# 分页HTML代码 #}

{% if contacts.has_previous %}

上一页

{% endif %}


Page {{ contacts.number }} of {{ contacts.paginator.num_pages }}.


{% if contacts.has_next %}

下一页

{% endif %}

{% endblock %}


3,URL映射

编辑urls.py文件,加入:


url(r'^tasklist/', views.task_list),

展开阅读全文

页面更新:2024-04-02

标签:数据   干货   操作者   必不可少   例子   名称   编辑   日期   评价   结束   代码   页面   功能   文件   列表   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top