接著上篇,在上篇的基礎上實現網頁資料分頁顯示
#coding:utf-8from 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,includefrom 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引數為...