1. 程式人生 > >利用Django做一個簡單的分頁頁面

利用Django做一個簡單的分頁頁面

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 }}">
    &lt;上一頁
    </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 }}">下一頁&gt;</a>
{% endif %}
</body>
</html>

利用Django做一個簡單的分頁頁面