利用Django做一個簡單的分頁頁面
阿新 • • 發佈:2019-03-25
pin () tin 簡單的 pict har files amp ext
views代碼:
from django.shortcuts import render from django.conf import settings from booktest.models import PicTest,AreaInfo from django.http import HttpResponse from django.core.paginator import Paginator # Create your views here. # show_upload def show_upload(request): ‘‘‘顯示上傳圖片頁面‘‘‘ return render(request,‘booktest/upload_pic.html‘) def upload_handle(request): ‘‘‘上傳圖片處理‘‘‘ pic = request.FILES[‘pic‘] save_path = ‘%s/booktest/%s‘%(settings.MEDIA_ROOT, pic.name) with open(save_path,‘wb‘) as f: for content in pic.chunks(): f.write(content) PicTest.objects.create(goods_pic=‘booktest/%s‘%pic.name) return HttpResponse(‘ok‘) # /show_area def show_area(request,pindex): ‘‘‘分頁‘‘‘ areas = AreaInfo.objects.filter(aParent__isnull=True) paginator = Paginator(areas,10) print(paginator.num_pages) print(paginator.page_range) if pindex == ‘‘: # 默認取第一也的內容 pindex = 1 else: pindex = int(pindex) page = paginator.page(pindex) return render(request, ‘booktest/show_area.html‘, {‘page‘:page})
templates代碼:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>分頁</title> </head> <body> <ul> {% for area in page.object_list %} <li>{{ area.atitle }}</li> {% endfor %} </ul> {% if page.has_previous %} <a href="/show_area{{ page.previous_page_number }}"> <上一頁 </a> {% endif %} {% for foo in page.paginator.page_range %} {% if foo == page.number %} {{ foo }} {% else %} <a href="/show_area{{ foo }}">{{ foo }}</a> {% endif %} {% endfor %} {% if page.has_next %} <a href="/show_area{{ page.next_page_number }}">下一頁></a> {% endif %} </body> </html>
利用Django做一個簡單的分頁頁面