django 自帶了乙個分頁的功能 ,使用起來很方便 。下面是使用方法 :
views.pydef index(request):
context ={}
article =article.objects.all()
page = request.get.get('
page
',1)
context =get_paginator(article,page)
return render(request, '
home/index.html
',context)
為了讓主函式不要過於複雜,將分頁器的功能分離出來了。
分頁的主** :
from django.core.paginator importpaginator,invalidpage,emptypage,pagenotaninteger
defget_paginator(obj,page):
page_size = 10 #每頁顯示的數量after_range_num = 5before_range_num = 6context ={}
try:
page =int(page)
if page <1:
page = 1
except
valueerror:
page = 1paginator =paginator(obj,page_size)
try:
obj =paginator.page(page)
except
(emptypage,invalidpage,pagenotaninteger):
obj = paginator.page(1)
if page >=after_range_num:
page_range = paginator.page_range[page-after_range_num:page+before_range_num]
else
: page_range = paginator.page_range[0:int(page)+before_range_num]
context[
"page_objects
"]=obj
context[
"page_range
"]=page_range
return context
templates 中如下實現:
<div
id="content"
>
<
div
id="mainbar"
>
<
div
class
="node_article"
>
<
h3><
a href
=''>}
a>
h3>
<
p>}
p>
div>
<
div>
<
p class
="page_container"
>
<
a href
="?page=}"
title
="pre"
>
a>
<
span
style
="font-size:16px;"
title
="當前頁"
><
b>}
b>
span
>
<
a href
="?page=}"
title
="第}頁"
>}
a>
<
a href
="?page=}"
title
="next"
>
a>
<
b>
}
b>
p>
div>
div>
div>
django Paginator分頁器的基礎用法
from django.core.paginator import paginator def pag test request book obj list models.book.objects.all p paginator book obj list,5 第二個引數 表示每一頁顯示5條資料 p...
vue element echarts 換膚功能
demo中的換膚效果沒有用到css預編譯處理 整體的思路是 預先定義好多套css樣式表分別放到static檔案中,根據按鈕切換在dom上掛載相對應的css,聽上去是個比較笨的方法,下面直接上 2.將預設的主題放在vuex中 import vue from vue import vuex from v...
ios xmpp openfire實現聊天功能
ios使用xmppframework 來實現基本的聊天功能 1.使用xmppstream連線openfire 需要賬戶,密碼和伺服器位址埠一般為5222 bool connect if userid nil pass nil 設定使用者 xmppstream setmyjid xmppjid jid...