Django 學習筆記之七 實現分頁

2022-06-11 18:18:14 字數 2141 閱讀 9758

接著上篇,在上篇的基礎上實現網頁資料分頁顯示

#coding:utf-8

from django.shortcuts import render,get_object_or_404

from blog.models import post

from django.core.paginator import paginator,emptypage,pagenotaninteger

# create your views here.

def post_list(request):

object_list = post.objects.all()

paginator = paginator(object_list,3)#分頁顯示,每頁3條記錄

page = request.get.get('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',)

def post_detail(request,post):

post = get_object_or_404(post,slug=post)

# post = post.objects.get(slug=post)

return render(request,'blog/post/detail.html',)

from django.conf.urls import url,include

from django.contrib import admin

from blog.views import *

urlpatterns = [

# url(r'^blog/',blog_views.post_list,name='post_list'),

url(r'^blog/', post_list, name='post_list'),

url(r'^(?p[-\w]+)/$',

post_detail, name='post_detail'),

url(r'^(?p)/share/$',post_share,name='post_share'),

url(r'^admin/', admin.site.urls),

]

在 blog目錄下建立templates檔案,在下面再建立資料夾 blog,在下面增加 base.html,在blog資料夾下建立post資料夾,在此資料夾建立list.html檔案和

pagination.html。目錄下:

base.html檔案內容如下:

list.html 檔案內容如下:

pagination.html檔案內容如下:

點選「next」

這樣就實現了簡單的分頁功能

Django框架學習筆記 七

在開發乙個web專案時,會出現多個頁面有公共頭部 導航欄等情況,在每個頁面中重複寫會導致後期修改非常麻煩,而且還可能會出現一些錯誤,在django框架中,提供了模板引擎。我們會定義乙個母版,用它來存放所有頁面的公用部分,如 母版layout.html 通常會在母版裡面定義三個區塊block,分別給它...

Django學習之限制請求 七

在實際的工作中,可能由於需求,對某些請求,我們只限制傳送get請求或者post請求,不能傳送其它的請求,那麼這個時候如何在django中實現了?假設這裡寫乙個首頁的連線,訪問整個index的頁面,見在django中檢視的函式原始碼 在檢視函式blog中,我們使用postman來傳送get請求,來看請...

django學習筆記之登入

在測試admin成功之後我開始寫web的第乙個功能,登入。順序如下 1.首先在url裡面新增登入,我把登入的檔案放在account.py下面,所以url寫為 url r accounts login sys pm.account.userlogin name userlogin 這裡的name引數為...