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>
原文:https://www.cnblogs.com/xcx-bwt/p/10594045.html