2017-04-23 89 views
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 }}">&laquo;</a></li> 
    {% else %} 
     <li class="disabled"><span>&laquo;</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 }}">&raquo;</a></li> 
    {% else %} 
     <li class="disabled"><span>&raquo;</span></li> 
    {% endif %} 
    </ul> 
{% endif %} 

回答

0

問題這一行:

return render(request, 'index.html', context, {'filter': contacts_filter}) 

這裏要傳遞的情況下,因爲只有filter和失蹤contacts

so change this to

return render(request, 'index.html', context, {'filter': contacts_filter,'contacts': contacts}) 
+0

必須是更多的東西,因爲我還沒有看到任何分頁。 :(我確實有更多的5K對象在那裏。 –

+0

呃....服務器重啓後我得到:「'模塊'對象不可迭代」 –

+0

正確...得到它的工作。應該是︰return render(請求,'index.html',context = {'filter':contacts_filter,'contacts':contacts}) –