Django Paginator分页

views.py

def productList(request,tp,sa,p):
    kjList = Good.objects.filter(g_type=tp).order_by(orderDict[sa])
    paginator = Paginator(kjList, 8)

    tName = gTypes[tp]
    try:
        kjList = paginator.page(p)
    except PageNotAnInteger:
        kjList = paginator.page(1)
    except EmptyPage:
        kjList = paginator.page(paginator.num_pages)

    return render(request,'shop/product/productlist.html',locals())

Html:

{% if kjList.has_previous %} #是否有上一页
    <a href="{% url 'productList' tp sa kjList.previous_page_number %}" class="pre"><</a>
{% endif %}
{% for pg in kjList.paginator.page_range %} #循环页码,判断是否是当前页,add css
    {% if kjList.number == pg %}
        <a href="JavaScript:void(0)" class="on">{{ pg }}</a>
    {% else %}
        <a href="{% url 'productList' tp sa pg %}">{{ pg }}</a>
    {% endif %}
{% endfor %}
{% if kjList.has_next %} #判断是否有下一页
    <a href="{% url 'productList' tp sa kjList.next_page_number %}" class="next">></a>
{% endif %}                     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值