首页 > 其他 > 详细

利用Django做一个简单的分页页面

时间:2019-03-25 15:59:51      阅读:179      评论:0      收藏:0      [点我收藏+]

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做一个简单的分页页面

原文:https://www.cnblogs.com/xcx-bwt/p/10594045.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!