Paginator

On a regular basisยท2021๋…„ 7์›” 24์ผ
0
post-thumbnail

Paginator๋ž€ ๋ฌด์—‡์ผ๊นŒ?

  • ๊ฒŒ์‹œํŒ๊ณผ ๊ฐ™์€ ๋ชฉ๋ก์ด ์ฃผ์–ด์ ธ์žˆ์„ ๋•Œ, ํŽ˜์ด์ง€ ๋‹น ๋ช‡ ๊ฐœ์˜ ๊ธ€์„ ๋ณด์—ฌ์ค„์ง€ ์ง€์ •ํ•ด์ค„ ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ๋‚ด์žฅ๋ชจ๋“ˆ.
from django.core.paginator import Paginator #์ด๋ ‡๊ฒŒ ์ž„ํฌํŠธํ•ด์ฃผ๊ธฐ

์—ฐ์Šต!

def product_list(requst):
    products = Product.objects.all() 
    # product์— ์žˆ๋Š”๊ฑฐ ๋‹ค ๋ถˆ๋Ÿฌ์™€์ฃผ๊ณ ,
    
    paginator = Paginator(products, 3)
    # ํ•œํŽ˜์ด์ง€๋‹น '3'๊ฐœ๋ฅผ ๋ณด์—ฌ์ฃผ๊ฒ ๋‹ค๋Š” ์˜๋ฏธ
    
    page_number = int(request.GET.get("page",1))
    # request.GET.get("page")์€ ๋”•์…”๋„ˆ๋ฆฌํ˜•."page"๋ผ๋Š” key๊ฐ’์„ ์ธ์ž๋กœ ์ฃผ๋ฉด ๋ช‡ ํŽ˜์ด์ง€์ธ์ง€ value๋กœ ๋ฐ˜ํ™˜
    # urld์˜ ์ฟผ๋ฆฌ ์ŠคํŠธ๋ง์—์„œ page์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’์„ ๊ฐ€์ ธ์˜ฌ๊ฑด๋ฐ, page๊ฐ’ ์กด์žฌ ์•ˆํ•˜๋ฉด 1page ๋ณด์—ฌ์ค„๊ฑฐ์•ผ.
    
    page_obj = paginator.get_page(page_number)   
    # ์ „๋‹ฌ๋ฐ›์€ ํŽ˜์ด์ง€๋ฒˆํ˜ธ(page_number)์— ํ•ด๋‹นํ•˜๋Š” ๊ฒŒ์‹œ๊ธ€ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ๊ฐ€์ง€๊ณ  ์˜ด
profile
๊ฐœ๋ฐœ ๊ธฐ๋ก

0๊ฐœ์˜ ๋Œ“๊ธ€