fromviews.pydjango.core.paginator import paginator
objects = post.objects.filter(status='published') #從資料庫中取出所有status=published狀態的文章p = paginator(objects,3
) #例項化paginator物件,3條資料為一頁
print(p.count) #一共有多少條資料
print(p.num_pages) #一共可以分為多少頁
page1 = p.page(1
) #取第一頁的資料
page2 = p.page(2
) #取第二頁的資料
print(page2.has_previous) #判斷第二分頁是否有前一頁,有則返回true,否則false
fromlist.htmldjango.shortcuts import render,get_object_or_404
from
django.core.paginator import paginator, pagenotaninteger,emptypage
# create your views here.
from
blog.models import post
def post_list(request):
object_list = post.objects.filter(status='
published')
#每頁顯示3個
paginator = paginator(object_list,3
) #獲取前端傳過來的要訪問的頁面數,比如說去第一頁,就傳過來1
page = request.get.get('
page')
print(page)
try:
#比如說第一頁,就返回第一頁的資料
posts =paginator.page(page)
except pagenotaninteger:
#如果傳過來的頁面數不是整數,就返回第一頁
posts = paginator.page(1
) except emptypage:
#如果傳過來的頁面數超出範圍,就返回最有一夜
posts =paginator.page(paginator.num_pages)
return render(request,'
blog/post/list.html
',)
class="流程:pagination
">
class="
step-links
#發乙個get請求到views.py的post_list函式,比如
?page=1,就是127.0.0.1:8000/blog?page=1,去第一頁的意思
"?page=}
class="
current
">
#page 2 of 3,意思就是目前在第二頁,一共有三頁. post.number返回當前在第幾頁,num_pages返回一共有多少頁
page } of }.
#發乙個get請求到views.py的post_list函式,比如
?page=2,就是127.0.0.1:8000/blog?page=2,去第二頁的意思
"?page=}
------->這個是效果圖
post_list函式通過[request.get.get('page')]獲取前端通過get請求傳過來的頁碼數,通過paginator.page(page),其實就是paginator.page(1)把第1頁的資料返回並渲染list.html
Django學習系列之CSRF
什麼是csrf 你的 會以為這個請求是使用者自己發來的,其實呢,這個請求是那個惡意 偽造的 django提供的csrf防護機制 django 第一次響應來自某個客戶端的請求時,會在伺服器端隨機生成乙個 token,把這個 token 放在 cookie 裡。然後每次 post 請求都會帶上這個 to...
ubuntu刪除django,安裝django
刪除 終端輸入 python c from distutils.sysconfig import get python lib print get python lib 得到路徑 usr lib python2.7 dist packages 刪除路徑下的django與egg檔案 命令 sudo r...
Django系列學習之五
後台管理頁面做好了,接下來就要做公共訪問的頁面了。當我們剛剛在瀏覽器中輸入 之後,瀏覽器顯示出了後台管理的登入頁面,那有沒有同學想過這個伺服器是怎麼給我們找到這個頁面並返回呢?admin 是我們想要請求得頁面,伺服器在收到這個請求之後,就一定對應著乙個處理動作,這個處理動作就是幫我的產生頁面內容並返...