views函数:
@login_required(login_url='/users/login/') def device_list(request): username = request.session.get('user', '') all_device = Device.objects.all() paginator = Paginator(all_device, 10) page_num = request.GET.get('page', 1) d_list = paginator.page(int(page_num)) return render(request, 'device_list.html', locals())
前端:(bootstrap)
<nav aria-label="Page navigation"> <ul class="pagination"> {% if d_list.has_previous %} <li> <a href="/device/list?page={{ d_list.previous_page_number }}" aria-label="Previous"> <span aria-hidden="true">上一页</span> </a> </li> {% else %} <li class="disabled"> <a aria-label="Previous"> <span aria-hidden="true">上一页</span> </a> </li> {% endif %} {% for p_num in paginator.page_range %} {% if p_num == d_list.number %} <li class="active"><a href="#">{{ p_num }}</a></li> {% else %} <li><a href="/device/list?page={{ p_num }}">{{ p_num }}</a></li> {% endif %} {% endfor %} {% if d_list.has_next %} <li> <a href="/device/list?page={{ d_list.next_page_number }}" aria-label="Next"> <span aria-hidden="true">下一页</span> </a> </li> {% else %} <li class="disabled"> <a aria-label="Next"> <span aria-hidden="true">下一页</span> </a> </li> {% endif %} </ul> </nav>
效果: