最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Django rest framework分頁接口實(shí)現(xiàn)原理解析

 更新時(shí)間:2020年08月21日 09:46:44   作者:削微寒  
這篇文章主要介紹了Django rest framework分頁接口實(shí)現(xiàn)原理解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

如果沒有設(shè)置分頁,django-rest-framework 會(huì)將所有資源類表序列化后返回,如果資源很多,就會(huì)對(duì)網(wǎng)站性能造成影響。為此,我們來給博客文章列表 API 添加分頁功能。

django-rest-framework 為分頁功能提供了多個(gè)輔助類,常用的有:

PageNumberPagination

將資源分為第 1 頁、第 2 頁...第 n 頁,使用頁碼號(hào)請(qǐng)求分頁結(jié)果。

LimitOffsetPagination

通過 limit 和 offset 兩個(gè)參數(shù)來控制請(qǐng)求的資源。例如通過發(fā)送 API 請(qǐng)求:/posts/?offset=20&limit=5,將獲取文章資源列表第 20 篇后的 5 篇文章。如果 offset 以等差數(shù)列遞增,limit 保持不變,則等價(jià)于按頁碼分頁。但 offset 和 limit 可以為任意值,因此這種分頁比 PageNumberPagination 更加靈活。

要使用分頁功能非常簡單,只需在項(xiàng)目的配置文件中配置好分頁選項(xiàng),即可全局啟用分頁功能。打開 config/common.py 配置文件,寫入如下的分頁配置:

REST_FRAMEWORK = {
  # 設(shè)置 DEFAULT_PAGINATION_CLASS 后,將全局啟用分頁,所有 List 接口的返回結(jié)果都會(huì)被分頁。
  # 如果想單獨(dú)控制每個(gè)接口的分頁情況,可不設(shè)置這個(gè)選項(xiàng),而是在視圖函數(shù)中進(jìn)行配置
  "DEFAULT_PAGINATION_CLASS": "rest_framework.pagination.PageNumberPagination",
  # 這個(gè)選項(xiàng)控制分頁后每頁的資源個(gè)數(shù)
  "PAGE_SIZE": 10,
}

配置完成之后,所有通用視圖函數(shù)或者視圖集生成的資源列表 API,返回的資源列表都會(huì)被分頁。配置文件中的分頁設(shè)置將作用于全局,如果某個(gè)視圖函數(shù)或者視圖集不想使用全局配置怎么辦呢?可以在視圖函數(shù)或者視圖集中設(shè)置 pagination_class 屬性,指定需要使用的分頁輔助類即可。例如將博客文章列表分頁替換為 limit offset 的分頁方式,可以這樣設(shè)置:

from rest_framewrok.pagination import PageNumberPagination
class PostViewSet(viewsets.GenericViewSet):
  pagination_class = LimitOffsetPagination

這樣,PostViewSet 視圖集將返回 limit offset 分頁形式的文章列表,而其他視圖或者視圖集仍將使用全局的分頁配置。

請(qǐng)求文章 api,返回結(jié)果如下:

對(duì)返回結(jié)果的解釋:

count:總資源數(shù)目

next:下一頁資源的鏈接

previous:上一頁資源的鏈接

results:當(dāng)前頁的資源列表

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Django的多表查詢操作實(shí)戰(zhàn)

    Django的多表查詢操作實(shí)戰(zhàn)

    Django提供一種強(qiáng)大而又直觀的方式來"處理"查詢中的關(guān)聯(lián)關(guān)系,它在后臺(tái)自動(dòng)幫你處理JOIN,下面這篇文章主要給大家介紹了關(guān)于Django多表查詢操作的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • django 使用內(nèi)置messages的操作

    django 使用內(nèi)置messages的操作

    這篇文章主要介紹了django 使用內(nèi)置messages的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • Python的函數(shù)使用示例詳解

    Python的函數(shù)使用示例詳解

    在Python的函數(shù)中,我們將其分為內(nèi)置函數(shù)、自定義函數(shù)、main函數(shù)三個(gè)模塊,當(dāng)然,使用的過程中會(huì)涉及到變量以及參數(shù),這些都會(huì)舉例進(jìn)行說明,對(duì)Python函數(shù)使用相關(guān)知識(shí)感興趣的朋友跟隨小編一起看看吧
    2021-12-12
  • 使用Python實(shí)現(xiàn)圖像有效壓縮的方法

    使用Python實(shí)現(xiàn)圖像有效壓縮的方法

    在數(shù)字時(shí)代,圖像作為信息傳遞的重要媒介,在網(wǎng)頁設(shè)計(jì)、移動(dòng)應(yīng)用和多媒體制作中扮演著不可或缺的角色,本文將詳細(xì)介紹如何使用Python,一個(gè)功能強(qiáng)大且易于學(xué)習(xí)的編程語言,來實(shí)現(xiàn)圖像的有效壓縮,感興趣的朋友可以參考下
    2024-03-03
  • 解決jupyter notebook import error但是命令提示符import正常的問題

    解決jupyter notebook import error但是命令提示符import正常的問題

    這篇文章主要介紹了解決jupyter notebook import error但是命令提示符import正常的問題,具有很好的參考
    2020-04-04
  • python操作配置文件實(shí)戰(zhàn)記錄

    python操作配置文件實(shí)戰(zhàn)記錄

    這篇文章主要給大家介紹了關(guān)于python操作配置文件的相關(guān)資料,配置文件是為程序配置參數(shù)和初始設(shè)置的文件,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • 基于python實(shí)現(xiàn)檢索標(biāo)記敏感詞并輸出

    基于python實(shí)現(xiàn)檢索標(biāo)記敏感詞并輸出

    這篇文章主要介紹了基于python實(shí)現(xiàn)檢索敏感詞并輸出,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • 200行python代碼實(shí)現(xiàn)貪吃蛇游戲

    200行python代碼實(shí)現(xiàn)貪吃蛇游戲

    這篇文章主要為大家詳細(xì)介紹了200行python代碼實(shí)現(xiàn)貪吃蛇游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • Python的集合類型之set和frozenset詳解

    Python的集合類型之set和frozenset詳解

    這篇文章主要為大家詳細(xì)介紹了Python的集合類型之set和frozenset,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • Python處理中文標(biāo)點(diǎn)符號(hào)大集合

    Python處理中文標(biāo)點(diǎn)符號(hào)大集合

    中文文本中可能出現(xiàn)的標(biāo)點(diǎn)符號(hào)來源比較復(fù)雜,通過匹配等手段對(duì)他們處理的時(shí)候需要格外小心,防止遺漏,下面小編給大家?guī)砹薖ython處理中文標(biāo)點(diǎn)符號(hào)大集合,感興趣的朋友跟隨腳本之家小編一起看看吧
    2018-05-05

最新評(píng)論

邻水| 新化县| 辉南县| 海南省| 河西区| 浦东新区| 喀什市| 湘潭市| 丰宁| 颍上县| 吴堡县| 黄龙县| 沿河| 江阴市| 格尔木市| 祁阳县| 兰考县| 辰溪县| 尚义县| 辰溪县| 宜章县| 扬州市| 留坝县| 盱眙县| 宁海县| 宁海县| 汶川县| 明水县| 吴堡县| 随州市| 房产| 西和县| 罗定市| 岗巴县| 石嘴山市| 抚宁县| 泗水县| 武夷山市| 芜湖县| 芜湖县| 怀柔区|