django rest framework 自定義分頁返回資訊
這一章給大家講解如何自定義分頁的返回資訊
#settings.conf
REST_FRAMEWORK = {
'DEFAULT_PAGINATION_CLASS': 'common.utils.custom_pagination.LargeResultsSetPagination',
'PAGE_SIZE': 20, #可選可不選,如果在此處填寫,則優先順序大於自定義裡面的page
}
2、編寫自定義返回分頁資訊指令碼
from rest_framework.pagination import PageNumberPagination,LimitOffsetPagination
from collections import OrderedDict
from rest_framework.response import Response
class LargeResultsSetPagination(LimitOffsetPagination):
page_size = 10
page_size_query_param = 'page_size'
max_page_size = 10000
def get_paginated_response(self, data):
code = 200
msg = 'success'
if not data:
code = 404
msg = "data not found"
return Response(OrderedDict([
('code',code),
('msg', msg),
('count', self.count),
('next', self.get_next_link()),
('previous', self.get_previous_link( )),
('data', data),
]))
這樣當我們資料多的時候就會就會進行分頁提示
{
"code": 200,
"msg": "success",
"count": 5,
"next": null,
"previous": null,
"data": [
{
"id": 9,
"hostname": "sj-jn-27-221.103.134",
"type": 2,
"vendor": "2",
"ip": "12.12.12.38",
"status": 0,
"create_time": "2018-11-16T16:51:23.238087+08:00",
"update_time": "2018-11-16T16:51:23.238109+08:00"
},
{
"id": 7,
"hostname": "sj-jn-27-221.103.133",
"type": 1,
"vendor": "2",
"ip": "12.12.12.37",
"status": 0,
"create_time": "2018-11-16T16:50:54.632770+08:00",
"update_time": "2018-11-16T16:50:54.632827+08:00"
},
{
"id": 5,
"hostname": "sj-jn-27-221.103.132",
"type": 0,
"vendor": "2",
"ip": "12.12.12.36",
"status": 0,
"create_time": "2018-11-16T16:49:04.951364+08:00",
"update_time": "2018-11-16T16:49:04.951419+08:00"
},
{
"id": 3,
"hostname": "sj-jn-27-221.103.131",
"type": 0,
"vendor": "2",
"ip": "12.12.12.35",
"status": 0,
"create_time": "2018-11-16T16:46:44.996822+08:00",
"update_time": "2018-11-16T16:46:44.996845+08:00"
},
{
"id": 1,
"hostname": "sj-jn-27-221.103.130",
"type": 0,
"vendor": "19",
"ip": "12.12.12.34",
"status": 0,
"create_time": "2018-11-16T16:45:30.665053+08:00",
"update_time": "2018-11-16T16:45:30.665087+08:00"
}
]
}
相關推薦
django rest framework 自定義分頁返回資訊
這一章給大家講解如何自定義分頁的返回資訊 #settings.conf REST_FRAMEWORK = { 'DEFAULT_PAGINATION_CLASS': 'common.utils.custom_pagination.LargeResu
Django rest framework 自定義Exception
return cep 格式 message throttle back per ack logs 使用Dango rest framework時,有時需要raise APIException到前端,為了統一錯誤返回格式,我們需要對exception的格式進行調整。 方法
python-django rest framework框架之分頁
link 自己實現 -i man model 三種 imp *** efault 1. 以前django做的分頁組件當數據量特別大的時候,性能不是很高,有以下三種方式處理: a. 記錄當前訪問頁的最後一條數據id,往後取多少條 b. 最多顯示1
Django學習手冊 - 自定義分頁工具
inf img 返回 app image splay mage turn bubuko 前端代碼: <div class="xianshi"> {% for i in info %} <ul>
django rest framework 過濾 lim分頁
一.過濾 1.首先引用diango 自帶的過濾配置 2.匯入模組 from django_filters.rest_framework import DjangoFilterBackend from django_filters import rest_framework as filters
基於Django的python自定義分頁模組化實現
1、目的&環境準備 目的:把分頁用模組方式實現,然後在需要分頁的地方直接呼叫模組。 環境準備:建立一個Django專案,並從中生成一個App,註冊之後配置urls&Models。 配置Urlsfrom django.conf.urls imp
django 1.11 自定義分頁功能的實現
在WEB中很多時候是免不了要分頁的,如果我們的資料太多了,分出來6000多頁或者更多的時候,用django自帶的分頁功能就不好看了,所以我們來自定義一下。我是參考http://www.cnblogs.com/nulige/p/6558207.html這篇文章的,不過如果照著
Python之路65-Django分頁、自定義分頁
python目錄一、XSS二、分頁1三、分頁2四、分頁3一、XSS有下面一段代碼,想將這段代碼中的字符串渲染到HTML頁面中,默認Django是不能這樣去操作的views.pydef user_list(request): page_str = """ <a href="/use
Django之自定義分頁
plugin style 定義 mage user_list .sh render 進行 blog 應用於各頁面中的分頁實現,實現的結果如下圖 1.先自定義一個有關分頁的PageInfo類 1 class PageInfo(object): 2 3
Django-自定義分頁
isa 變量 range 代碼 imp lencod django mat 多少 封裝好的自定義分頁器 class Page(): def __init__(self, page_num, total_count, base_url, params, per_pa
DJANGO 自定義分頁組件
ret ref 前端 nav exce open 分享圖片 pro paginati 第一次在碼雲上面分享代碼片段,記錄一下: https://gitee.com/trunkslisa/codes/14gkxi3zf9e2ulbvjnqyo90 clas
Django學習手冊 - 初識自定義分頁
request shortcut ren 字符 span turn 翻頁 info char 核心: <a href=‘http://127.0.0.1:8000/index-%s‘>%s<a> 自定義分頁 1.前端處理字符 後端的字符
Django分頁器及自定義分頁器
info tar trap 當前頁 quest res error: 封裝 HERE Django的分頁器 view from django.shortcuts import render,HttpResponse # Create your views here. f
Django - - 進階 - - Cookie、Session和自定義分頁
目錄 cookie Django中操作Cookie Session Django中Session相關方法 分頁 1,cookie 1.1 Cookie的由來 HTTP協議是無狀態的。 無狀態的意思是每次請求都是獨立的,它的執行情況和結果與前面的請求和之後的請求都無直
18 Django - 自定義分頁、FBV和CBV
Django - 自定義分頁、FBV和CBV 一、自定義分頁(優勢在於能夠儲存搜尋條件) """ 分頁元件使用示例: 1) 先取出所有資料USER_LIST 2) 例項化:
django 自定義分頁功能
django自帶的分頁功能有侷限性,只能顯示所有頁碼,不能顯示當前頁的前五和後五頁的頁碼。所有需要自己寫。 from django.shortcuts import render from app01.models import User class MyPaginator: def
Django框架學習筆記(19.自定義分頁)
在講自定義分頁之前,先講一個簡單的。 在模板語言中還有一些特殊的存在,比如這個: def tpl4(request): name = "asdf123456" return render(request, 'tpl4.html', {'name': name})
django 自定義分頁與bootstrap分頁結合
django中有自帶的分頁模組Paginator,想Paginator提供物件的列表,就可以提供每一頁上物件的方法。 這裡的話不講解Paginator,而是自定義一個分頁類來完成需求: class Pagination(object): """用於Model欄位值的
Django自定義分頁,實現paginator缺失的功能
有不少初學Django的朋友經常抱怨,在網上搜了一大堆教程,各種自定也分頁的方法對新手一點都不友好,很難看懂。那今天我來寫一個相對容易看懂的教程吧。 django內建paginator分頁器雖然用起來是很簡單,但是功能也很簡單。一旦資料多起來,就會把頁
Django 自定義分頁器
為什麼要實現分頁? 在大部分網站中分頁的功能都是必要的,尤其是在後臺管理中分頁更是不可或缺 分頁能帶給使用者更好的體驗,也能減輕伺服器的壓力 對於分頁來說,有許多方法都可以實現 例如把資料全部讀取出來在前端用javascript實現,但這樣一次請求全部資料伺服器壓力很大, 還有就是在後