django自帶模組實現翻頁功能

2021-09-22 01:50:42 字數 1831 閱讀 7379

django中自帶了具有翻頁功能的庫paginator,下面我們一起學習一下,如何用這個庫來寫翻頁功能

我們一般不手動創造page這個類,而是用**paginator.page()**來呼叫

1.類方法

page.start_index() 返回當前頁上的第乙個物件,相對於分頁列表的所有物件的序號,從1開始。比如,將五個物件的列表分為每頁兩個物件,第二頁的start_index()會返回3

page.end_index() 返回當前頁上的最後乙個物件,相對於分頁列表的所有物件的序號,從1開始。 比如,將五個物件的列表分為每頁兩個物件,第二頁的end_index()會返回4

2.類屬型

emptypage:如果查詢的頁面超出範圍,會丟擲emptypage這個錯誤

pagenotaninteger:如果獲取的頁碼不是整數,會丟擲pagenotaninteger這個錯誤

class

turnthepage

(view)

:def

post

(self,request)

:try

: pag = request.post.get(

'page'

,none

)# defects = defects.objects.all()

defects = defects.objects.get_queryset(

).order_by(

'id'

)#我這裡是把他變成字典了,然後再放到列表裡,如果不把他變成列表所傳的必須是可序化,所傳型別可以是列表,元組,查詢集或其他

for i in

range

(len

(defects)):

res_dict =

paginator = paginator(dicts_list,3)

#每頁有三條資料

content = paginator.page(pag)

#獲取的頁碼

content_list = content.object_list#當前頁所有物件列表

# if content.has_other_pages() == true:

# return jsonresponse()

if content.has_next()==

false

:return jsonresponse(

)elif content.has_previous()==

false

:#檢測是否是第一頁

return jsonresponse(

)else

:return jsonresponse(

)#如果獲得頁碼查出範圍就返回第一頁內容

except emptypage:

content = paginator.page(1)

content_list = content.object_list

return jsonresponse(

)#如果獲得的頁碼不是整數就返回第一頁內容

except pagenotaninteger:

content = paginator.page(1)

content_list = content.object_list

return jsonresponse(

)

利用django自帶模組實現登出功能

django框架自帶註冊 登入和登出等常用的使用者模組的功能。在之前的部落格我們已經實現了註冊功能,這次主要介紹一下如何實現登出功能。from django.shortcuts import render,redirect from django.contrib.auth import logout...

使用rlwrap實現SQLplus翻頁功能

rlwrap工具可以解決linux下sqlplus提供瀏覽歷史命令列的功能,和刪除先前輸入錯誤的字母等問題 一 構建rlwap安裝環境 rlwrap依賴於readline,而readline依賴於libtermcap,所以需要先安裝如下幾個包 libtermcap devel readline re...

django自帶的加密模組

加密 from django.contrib.auth.hashers import make password 引數1 需要加密的字串 引數2 是否每次都生成不同的加密串,預設為none,如果給定任意乙個字串,則表示每次生成相同的加密串。引數3 表示加密演算法,常見的加密演算法如下 pbkdf2 ...