나머지 프레임 워크 마무리

간단한 페이지 (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 '
        
        

 

추천

출처www.cnblogs.com/HUIWANG/p/11138878.html