django-rest-framework分頁pagination和自動生成api文檔

通過 pagination 進行分頁 和 自動生成api文檔的schema

自定義pagination類

    from rest_framework.pagination import PageNumberPagination
    class MyPagination(PageNumberPagination):
        page_size = 16                        # 每頁16條(默認)
        max_page_size = 50                    # 最大每頁條數(根據傳入的值分頁)
        page_query_param = "page"             # 前端url中傳入的‘頁數’名字
        page_size_query_param = "page_size"   # 前端url中傳入的每頁的數據條數
定義完了之後再類試圖中加上:pagination_class = MyPagination 就可以了
此時訪問: 
http://xxx.website.com/users-list/?page=30&page=3
表示每頁30 條,第3頁

自動生成api文檔(不管是函數視圖還是類視圖都能顯示)

  1. 安裝rest_framework_swagger庫

    • pip install django-rest-swagger
    • 在settings中加入:’rest_framework_swagger’
  2. 在項目下的 urls.py 中利用rest_framework自動生成api文檔

    from rest_framework.schema import get_schema_view
    from rest_framework_swagger.renderers import SwaggerUIRenderer, OpenAPIRenderer

    schema_view = get_schema_view(title="api 文檔", renderer_classes=(SwaggerUIRenderer, OpenAPIRenderer))

    urlpatterns = [
        url(r'^docs/$', schema_view, name="api 文檔"),
    ]
    # 這時候你runserver,然後訪問 localhost:8000/docs/ 就看到自動生成的文檔了,注意
    # 需要登陸的接口只有登陸後才能看文檔。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章