Django - Pagination 페이지

1490 단어
페이지 나누기 예:
 views.py :

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


def ProductList(request):

    data = getData()

    winery = models.Winery.objects.all().order_by("-id") #  id 

    paginator = Paginator(winery, 3) # 3 
    page = request.GET.get('page')

    try:
        wine = paginator.page(page)
    except PageNotAnInteger:  # page integer
        wine = paginator.page(1)
    except EmptyPage:   #  page 
        wine = paginator.page(paginator.num_pages)

    data["winery"] = wine 

    return render(request, 'productlist.html',  {'data':data})

#  

 


참고: 우리는 대개 settings.py에 페이지 크기를 설정합니다.
#  
PRODUCT_PAGE_SIZE = 3
views.py:
paginator = Paginator(winery, settings.PRODUCT_PAGE_SIZE) # 3 

좋은 웹페이지 즐겨찾기