django裡實現分頁

2021-10-10 10:05:56 字數 1572 閱讀 5961

最近忙完手頭的工作,剛好有時間,便嘗試搗鼓c# 上面wpf的開發,並用prism來實現mvvm的結構。想想自己已經接近40,卻還在搗鼓**,有時候覺得這個似乎不太真實。可是軟體開發一直是自己的業餘愛好,再加上自己的工廠裡一直都要使用,於是還是把業餘時間投入了進去,不管這些時間值得與否,我還是想在csdn上面和朋友們分享一下。

就是實現標題裡這個簡單的目的

第一步,建立乙個查詢小類

class queryroll
第二步 把查詢物件傳送到伺服器

我使用了system.net.webclient這個工具,向我的django資料庫傳送資訊。

第三步 伺服器接收到客戶端發過來的json請求,然後通過設定好的查詢條件,按照固定的json格式,把資訊以json的格式反饋給客戶端。

第四步,客戶端收到json格式的資料,用jobject解析後,按照字段取出jtoken,然後遍歷,並生成我們想要的物件組。

以前我覺得用ado.net會更方便,我們客戶端直接連線資料庫就行了,為什麼要這麼繁瑣呢?用現在客戶端訪問restful伺服器的方式,我覺得一來伺服器**設計一次,所有客戶端,無論手機,電腦,pad都可以通用,二來速度似乎比直接連線資料庫更快,不知道是否我的錯覺。

以下是客戶端的**

public  listfetchrolls(int page) }}

catch (system.net.webexception)

}return rolls;

}

以下是django伺服器的主要**

@api_view(['get','post','delete'])

def list_rolls(request):

if request.method=='post':

logging.debug(request.body)

query_str=json.loads(request.body)

rolls_all=odmroll.objects.filter(packageby__exact=100)

page_size=int(query_str['page_size'])

which_page=int(query_str['which_page'])

pages=paginator(rolls_all,10,page_size)

try:

rolls=pages.page(which_page)

except emptypage:

rolls=pages.page(1) #如果which_page超過總頁數,直接返回第一頁

django 實現分頁功能

分頁效果 檢視 1 coding utf 8 2 from django.shortcuts import render,get object or 404 3 from django.core.paginator import paginator,pagenotaninteger,emptypag...

輕鬆實現Django分頁

pip install djangorestframework安裝csrf第三方庫之後,我們就可以使用自帶分頁器paginator來進行內容的分頁 如果取不到分頁物件時,設定頁碼為1 page int request.get.get page 1 取分頁物件,orders為需要分頁的物件,一般為mo...

list 分頁 Django 實現通用分頁

django 提供了乙個用於分頁的paginator 物件,下面簡單介紹下paginator 物件 paginator 物件的匯入 from django.core.paginator import paginator paginator 物件用法 paginator object list,per...