0
我即将添加一个分页到我的联系人列表。我一整天都在坐着,不知道我混淆了什么。重要的是我有一个工作过滤器 - 所以我可以缩小名单。但从我的理解分页应该无论如何工作。在我的情况下,我什么都看不到,所以我的猜测是第一个“如果”失败。 如果你能指出我正确的方向。 此致敬礼。Django分页与引导
Views.py
def ContactsList(request):
contacts_list = Contact.objects.all()
Contacts_filter = LFilter(request.GET, queryset=contacts_list)
#pagination
page = request.GET.get('page', 1)
paginator = Paginator(contacts_list, 20)
try:
contacts = paginator.page(page)
except PageNotAnInteger:
contacts = paginator.page(1)
except EmptyPage:
contacts = paginator.page(paginator.num_pages)
return render(request, 'index.html', context, {'filter': contacts_filter})
模板部分:
{% if contacts.has_other_pages %}
<ul class="pagination">
{% if contacts.has_previous %}
<li><a href="?page={{ contacts.previous_page_number }}">«</a></li>
{% else %}
<li class="disabled"><span>«</span></li>
{% endif %}
{% for i in contacts.paginator.page_range %}
{% if library.number == i %}
<li class="active"><span>{{ i }} <span class="sr-only">(current)</span></span></li>
{% else %}
<li><a href="?page={{ i }}">{{ i }}</a></li>
{% endif %}
{% endfor %}
{% if contacts.has_next %}
<li><a href="?page={{ contacts.next_page_number }}">»</a></li>
{% else %}
<li class="disabled"><span>»</span></li>
{% endif %}
</ul>
{% endif %}
必须是更多的东西,因为我还没有看到任何分页。 :(我确实有更多的5K对象在那里。 –
呃....服务器重启后我得到:“'模块'对象不可迭代” –
正确...得到它的工作。应该是︰return render(请求,'index.html',context = {'filter':contacts_filter,'contacts':contacts}) –