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 %}                     
发布了48 篇原创文章 · 获赞 0 · 访问量 323

猜你喜欢

转载自blog.csdn.net/qq_21389693/article/details/105733921