django 分页功能的实现
2017-06-05 14:53
573 查看
我是参考了这位大神(http://www.cnblogs.com/kongzhagen/p/6640975.html)的文章后自己写的,因为大神的文章中url没有写,另外在写完后页面虽然分页了,但是没有数据显示,那分页了就没什么用了,所以自己弄了下,将这两个问题都搞好了
views 代码:
中间if语法是显示数据的,paginator.page(page).object_list 表示的是page这一页里面的数据集
try语法是分页功能的实现
html模板:
至于数据显示的模板自己写吧,很简单的
app下面的urls:
这样就可以了。
如果不用Django自带的分页功能的话,也可以自己定义,原理挺简单的,就是查询集的切片操作及在模板中的显示罢了,百度上也有这样的文章
views 代码:
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
columns = Column.objects.all() articles = Article.objects.all() def index(request): cus_list = Article.objects.all() paginator = Paginator(cus_list, 1) page = request.GET.get('page') if page: article_list = paginator.page(page).object_list else: article_list = paginator.page(1).object_list try: customer = paginator.page(page) except PageNotAnInteger: customer = paginator.page(1) except EmptyPage: customer = paginator.page(paginator.num_pages) return render(request, 'index.html', {'cus_list': customer, 'columns': columns, 'articles': article_list})
中间if语法是显示数据的,paginator.page(page).object_list 表示的是page这一页里面的数据集
try语法是分页功能的实现
html模板:
<nav aria-label="Page navigation"> <ul class="pagination"> {% if cus_list.has_previous %} <li> <a href="?page={{ cus_list.previous_page_number }}" aria-label="Previous"><span aria-hidden="true">«</span></a> </li> {% endif %} {% for pg in cus_list.paginator.page_range %} {% if cus_list.number == pg %} <li class="active"><a href="?page={{ pg }}">{{ pg }}</a></li> {% else %} <li><a href="?page={{ pg }}">{{ pg }}</a></li> {% endif %} {% endfor %} {% if cus_list.has_next %} <li> <a href="?page={{ cus_list.next_page_number }}" aria-label="Next"><span aria-hidden="true">»</span></a></li> {% endif %} </ul> </nav>
至于数据显示的模板自己写吧,很简单的
app下面的urls:
url(r'^$', views.index, name='index'),
这样就可以了。
如果不用Django自带的分页功能的话,也可以自己定义,原理挺简单的,就是查询集的切片操作及在模板中的显示罢了,百度上也有这样的文章
相关文章推荐
- django-pure-pagination分页功能的实现
- 在django中使用自定义标签实现分页功能
- django-pure-pagination分页功能的实现
- 修改Django分页类,自定义实现分页功能
- django-pure-pagination分页功能的实现
- 在django中使用自定义标签实现分页功能
- django-pure-pagination分页功能的实现
- django-pure-pagination分页功能的实现
- django-pure-pagination分页功能的实现
- django-pure-pagination分页功能的实现
- 【Django插件使用】django-pagination实现页面分页功能
- django-pure-pagination分页功能的实现
- django-pure-pagination分页功能的实现
- django-pure-pagination分页功能的实现
- django-pure-pagination分页功能的实现
- django1.8.2 建站实现分页显示功能
- django 1.97 paginator实现分页功能
- django-pure-pagination分页功能的实现
- django-pure-pagination分页功能的实现
- django-pure-pagination分页功能的实现