간단한 페이지 (N-페이지, N의 표시 참조)
에서 rest_framework.pagination의 가져 오기 PageNumberPagination의 # 기본 사용 : URL = URL = HTTP : //127.0.0.1 : 8000 / 호출기 / 페이지 = 2 크기 = 3, 크기가 유효하지 않은 클래스 호출기 (APIView) : DEF (GET 자기, 요청, * 인수, ** kwargs로) : #이 얻을 모든 데이터 RET = models.Book.objects.all () #이 페이지는 개체를 만들 페이지 = PageNumberPagination () #이 직접 호출, 데이터베이스에있는 / 페이징 데이터 paginate_queryset 방법 자체를 얻을 page_list page.paginate_queryset = (RET, 요청,보기 = 자기) #의 직렬화 페이징 빼앗아 = BookSerializer1을 (= page_list 예, 많은 = 참) 반환 응답 (ser.data) # //127.0.0.1 : 두 개의 사용자 정의 HTTP URL = 8000 / 호출기 / 페이지 = 2 크기 = 3? #의 다섯까지 유효 크기 = 30, 클래스 마이 페이지 (PageNumberPagination) : #의 페이지 표시 얼마나 PAGE_SIZE = 2 # 조회 키 값을 지정 검색어 인 page_query_param = ' 페이지 ' #의 맞춤 매개 변수 전달 / 전면 제어 키 값 조회 페이지 사이즈 = 이러한 표시가 디스플레이 (9)가 나타내는 개수 9 page_size_query_param를 = ' 크기 ' #의 최대 하나 개의 데이터 / 전송 (100), 디스플레이 (10)까지 인 경우 최대 디스플레이 페이지 번호, 크기를 제어 MAX_PAGE_SIZE 5 =. 클래스 호출기 (APIView는) DEF (자기, 요청 * 인수 ** GET kwargs로 일) : # 모든 데이터를 얻을 수 = RET models.Book.objects.all () # 객체 생성 탭 페이지 = 마이 페이지 () #은 데이터베이스에있는 데이터 페이지 인수 page_list = page.paginate_queryset을 (RET, 요청,보기 = 자기) #의 페이징 직렬화 SER = BookSerializer1 (= page_list 예, 많은 = 참) #의 반환 응답 (ser.data) # 이 반환 응답 개체이지만, 기본적인 이전, 다음, 데이터의 총 수 (이해하기)보다 더 많은 수익 page.get_paginated_response (ser.data)
설정
= REST_FRAMEWORK { # 개의보기 ' PAGE_SIZE를 ' : 2 }
두 오프셋 탭 (n 번째의 위치, N은 데이터 후방보기
# Http://127.0.0.1:8000/pager/?offset=4&limit=3 에서 rest_framework.pagination 가져 오기 LimitOffsetPagination의 #은 단순 페이징으로, 사용자 정의 할 수 있습니다 클래스 호출기 (APIView) : DEF (자체, 요청, * 인수를 GET, ** kwargs로) : #은 모든 데이터를 얻을 RET = models.Book.objects.all () #이 페이지는 개체를 만들 페이지 = LimitOffsetPagination을 () #이 데이터베이스 데이터에 페이징받을 page_list = page.paginate_queryset (RET, 요청,보기 = 자기 ) #의 직렬화 페이징 빼앗아 = BookSerializer1를 (= page_list 인스턴스 MANY = 참) #page.get_paginated_response 리턴 (ser.data) 반환 응답 (ser.data) 두 개의 사용자 정의 URL = HTTP : 8000 / 호출기 / 페이지 = 2 크기 = 3 : //127.0.0.1? #의 5 개까지, 크기 = 30, 무효을 클래스 내 페이지 (LimitOffsetPagination) : # 다시 극 위치에서 내가 지정할 수 2 촬영 몇 가지 기본을 촬영 default_limit를 = 2 # 의 모든 인수 번호 limit_query_param의 = ' 제한 ' #의 # 벤치 마크 값은 현재 위치, 경우에 이동 = 6 (6)에 복용 옆의 현재 위치를 나타내는 오프셋 offset_query_param를 = ' 오프셋 ' #의 최대 하나 개의 데이터 max_limit 5 =. 클래스 호출기 (APIView를) DEF (GET 자기, 요청 인수 *, ** kwargs로) : #은 모든 데이터 가져 오기 RET = models.Book.objects.all () #이 페이지는 개체를 만들 페이지 = 마이 페이지 ()를 #은 데이터베이스 데이터에 페이징받을 page_list = page.paginate_queryset (RET, 요청,보기 = 자기) # 직렬화 페이징 빼앗아 = BookSerializer1 (= page_list 인스턴스 MANY = 참) #에 반환 응답 (ser.data) # 이 응답 개체 반환되지만 이전, 이후보다 실질적으로 더 많은, 및 전체 데이터 스트립 수 (이해) 반환 page.get_paginated_response (ser.data를)
세 CursorPagination (암호화 된 페이지 만 이전 및 다음, 빠른 볼 수 있습니다)
에서 rest_framework.pagination 가져 오기 CursorPagination에 #이 ID 번호에 비해보다, 적은, SQL 쿼리를 통해 소스를 참조 클래스 호출기 (APIView) : DEF (자체, 요청, * 인수, ** GET kwargs로 일) : #은 모든 데이터를 가져 RET = models.Book .objects.all () #은 페이지 객체를 생성 페이지 = CursorPagination () #을 어떤 종류의에 page.ordering = ' NID ' # 페이징 데이터를 얻기 위해 데이터베이스에 page_list = page.paginate_queryset (RET, 요청,보기 = 자기) # 의를 탭 직렬화 SER = BookSerializer1 (예 = page_list, 많은 =참) #의 피할 페이지 추측 반환 page.get_paginated_response (ser.data) # 첫 번째 상속 CursorPagination을 사용자 정의하려면, 다음 세 개의 매개 변수를 다시 # 개 페이지 당 크기의 디스플레이를 = 3 page.page_size # 쿼리 키 값 = page.cursor_query_param ' 커서 ' # 어떤 종류의에 page.ordering = ' 위에서 언급 한 ID '