python - Django简单实现分页展现功能(附源码)

后台处理数据传递给前台模板:html

而后模板渲染展现:django

 

下边是源码:spa

 

接口:code

from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
    
def f(request):
    stu = models.Stu.objects.all()
    
    page = Paginator(stu, 2)
    page_id = request.GET.get('page_id')
    if page_id:
        try:
            stus = page.page(page_id)
        except PageNotAnInteger:
            stus = page.page(1)
        except EmptyPage:
            stus = page.page(1)
    else:
        stus = page.page(1)
    return render(request,'f.html',locals())

模板:htm

{% for i in stus %}
{{i.name}}<br>
{% endfor %}


<div>
{% if stus.has_previous %}
    <a href="/f?page_id={{stus.previous_page_number}}">
        <button><<</button>
    </a>
{% endif %}


{% for i in page.page_range %}
    <a href="/f?page_id={{i}}">
        <button>{{i}}</button>
    </a>
{% endfor %}


{% if stus.has_next %}
    <a href="/f?page_id={{stus.next_page_number}}">
        <button> &nbsp;>>&nbsp; </button>
    </a>
{% endif %}

而后就很是简单的实现了分页功能了!blog

相关文章
相关标签/搜索