Skip to content

Instantly share code, notes, and snippets.

@whosaysni
Created April 17, 2014 23:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save whosaysni/11016847 to your computer and use it in GitHub Desktop.
Save whosaysni/11016847 to your computer and use it in GitHub Desktop.
Padding blank row to last page with Django pagination
<table>
{% for obj in page %}
<tr><td>{{ obj.blah }}</td></tr>
{% endfor %}
{% ifequal page.number page.paginator.num_pages %}
{% for padding in page.paginator.paddngs %}
<tr><td> </td></tr>
{% endfor %}
{% endifequal %}
</table>
from django.core.paginator import Paginator
class PaginatorPlus(Paginator):
@property
def paddings(self):
return [None]*(self.per_page-self.count%self.per_page)
...
from my.models import My
def my_view(request):
# paginator = Paginator(My.objects.all(), 10)
paginator = PaginatorPlus(My.objects.all(), 10)
try:
page_number = int(request.GET.get('page', 1))
if page_number>paginator.num_pages:
qdict = request.GET.copy()
qdict['page'] = paginator.num_pages
return redirect(reverse('view_name')+'?'+qdict.urlencode())
except:
raise Http404
page = paginator.page(page_number)
...
return render(reqeuest, 'mytemplate.html', dict(page=page))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment