django CBV(클래스뷰) pagination 정리

2019-04-21

원문 : https://simpleisbetterthancomplex.com/tutorial/2016/08/03/how-to-paginate-with-django.html

사실 원문만 봐도 쉽게 잘 작성되어 있어서 따로 설명이 필요없지만 혹시 모르니 정리합니다. 원문에는 함수형 뷰 방법과 클래스 뷰 방법 둘다 나와있는데 함수형 뷰로 만드는 방법은 사실 찾기 쉽습니다만 클래스 뷰 기반으로 만드는 법은 잘 안나와 있어 몇일동안 답답했었는데 다행히 금방 해결됐습니다. 바로 해봅시다!

원문에 있는게 보기 편하시면 원문을 보시고 여기에는 제가 적용한 코드를 넣어놓겠습니다.

사용하고 있던 ListView에 아래와 같이 paginate_by, queryset만 추가해줍니다.

#views.py
class PostList(generic.ListView):
    model = Post
    paginate_by = 10 # 여기서 부터 추가 코드, 한 페이지당 10개 리스트만 표시
    queryset = Post.objects.all() # Post 모델

list를 출력하고 있는 template에 아래와 같은 코드를 추가합니다. 원문에 있는 코드와 다른 점은 bootstrap을 적용시킨것 말고는 없습니다.

#post_list.html

이렇게 하면 아래와 같이 완성!