django 페이지 나누기 기능의 구체적인 실현
paginator
클래스를 제공했다django/core/paginator.py
.그것은 목록, 모듈, 또는 다른 교체 가능한 대상을 수신할 수 있다.기본 구문의 예:
1 #!/usr/bin/env python
2 # _*_ coding:utf-8 _*_
3
4 import os
5
6 from django.core.paginator import Paginator
7 objects = ['john','paul','george','ringo','lucy','meiry','checy','wind','flow','rain'] #
8 p = Paginator(objects,3) # , objects 3 ,
9 print p.count # 10
10 print p.num_pages # 4
11 print p.page_range # xrange(1, 5) 【 】
12
13 page1 = p.page(1) # 1
14 print page1.object_list # 1 ['john', 'paul', 'george']
15 print page1.number # 1 1
21 print page1.has_previous() # 1 False
22 print page1.has_other_pages() # 1 True
24 print page2.has_previous() # 1 True
25 print page1.has_next() # 1 True
26 print page1.next_page_number() # 1 3
27 print page1.previous_page_number() # 1 1
28 print page1.start_index() # 1 4
29 print page1.end_index() # 1 6
공식 애플리케이션의 예:
백그라운드views.py 코드:
1 from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
2 from django.shortcuts import render
3
4 def listing(request):
5 contact_list = Contacts.objects.all()
6 paginator = Paginator(contact_list, 25) # Show 25 contacts per page
7
8 page = request.GET.get('page')
9 try:
10 contacts = paginator.page(page)
11 except PageNotAnInteger:
12 # If page is not an integer, deliver first page.
13 contacts = paginator.page(1)
14 except EmptyPage:
15 # If page is out of range (e.g. 9999), deliver last page of results.
16 contacts = paginator.page(paginator.num_pages)
17
18 return render(request, 'list.html', {'contacts': contacts})
프론트 데스크톱 템플릿 코드
1 {% for contact in contacts %}
2 {# Each "contact" is a Contact model object. #}
3 {{ contact.full_name|upper }}
4 ...
5 {% endfor %}
6
7 class="pagination">
8 class="step-links">
9 {% if contacts.has_previous %}
10 "?page={{ contacts.previous_page_number }}">previous
11 {% endif %}
12
13 class="current">
14 Page {{ contacts.number }} of {{ contacts.paginator.num_pages }}.
15
16
17 {% if contacts.has_next %}
18 "?page={{ contacts.next_page_number }}">next
19 {% endif %}
20
21
전재 대상:https://www.cnblogs.com/ailex/p/10062257.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.