django 페이지 나누기paginator 사용 간단한 설명
Django는 페이지 데이터를 관리하는 데 도움을 주는 새로운 클래스를 제공합니다. 이 클래스는django/core/paginator에 저장됩니다.py.그것은 목록, 모듈, 또는 다른 교체 가능한 대상을 수신할 수 있다.
기본 문법
class Paginator(object):
def __init__(self, object_list, per_page, orphans=0,
allow_empty_first_page=True):
self.object_list = object_list
self.per_page = int(per_page)
self.orphans = int(orphans)
self.allow_empty_first_page = allow_empty_first_page
……
기본 구문 인스턴스
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
import os
from django.core.paginator import Paginator
objects = ['john','paul','george','ringo','lucy','meiry','checy','wind','flow','rain']
p = Paginator(objects,3) # 3 ,
print p.count # 10 10
print p.num_pages # 4 4
print p.page_range # xrange(1, 5)
page1 = p.page(1) #
print page1.object_list # ['john', 'paul', 'george']
print page1.number # 1
page2 = p.page(2) #
print page2.object_list # ['ringo', 'lucy', 'meiry']
print page2.number # 2
print page1.has_previous() # False
print page1.has_other_pages() # True
print page2.has_previous() # True
print page2.has_next() # True
print page2.next_page_number() # 3
print page2.previous_page_number() # 1
print page2.start_index() # 4
print page2.end_index() # 2 6
뷰에서의 응용
from django.core.paginator import Paginator, InvalidPage,EmptyPage,PageNotAnInteger
from django.shortcuts import render
def listing(request):
try:
article_list = Article.objects.all() #
paginator = Paginator(article_list,3) # , 5
try:
page = int(request.GET.get('page',1)) # , , 1
article_list = paginator.page(page)
except (EmptyPage,InvalidPage,PageNotAnInteger):
article_list = paginator.page(1)
except Exception as e:
logger.error(e)
return render(request, "index.html", locals()) #locals ,
프런트엔드 구성:
template의 html 템플릿에서의 응용
{% %}
{{ .}}
{{ .}}
{% ..%}{{ .}}{% %}{{ .}} ({{ .}}) ({{ ...}})
{% %}
{% .%}
{{ .}}
{% %}
{% %}
{{ .}}/{{ ..}}
{% .%}
{{ .}}
{% %}
{% %}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
java ArrayList 페이지 인스턴스 코드java, ArrayList 페이지 나누기 개요 시스템과 시스템 간의 상호작용은 통상적으로 인터페이스를 사용하는 형식이다.만약에 B시스템이 대량의 조회 인터페이스를 제공한다고 가정하면 매번 50개의 데이터만 조회할 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.