Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
from django.shortcuts import render
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
from representatives_votes.models import Dossier
def votes_index(request):
votes_list = Dossier.objects.all()
return _render_list(request, votes_list)
def _render_list(request, votes_list, num_by_page=30):
"""
Render a paginated list of votes
"""
paginator = Paginator(votes_list, num_by_page)
page = request.GET.get('page')
try:
votes = paginator.page(page)
except PageNotAnInteger:
votes = paginator.page(1)
except EmptyPage:
votes = paginator.page(paginator.num_pages)
context = {}
queries_without_page = request.GET.copy()
if 'page' in queries_without_page:
del queries_without_page['page']
context['queries'] = queries_without_page
context['votes'] = votes
context['votes_num'] = paginator.count
return render(
request,
'votes/votes_list.html',
context
)