From c3771351a1c7800dc6d6e862ee60bea8dfade1ad Mon Sep 17 00:00:00 2001 From: Gustavo Bernardo Date: Sat, 19 Nov 2016 11:36:29 -0300 Subject: [PATCH] Pagination fixed, now works properly [Issue:#416] --- core/views.py | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/core/views.py b/core/views.py index 4efba01..9cf7fd1 100644 --- a/core/views.py +++ b/core/views.py @@ -14,6 +14,8 @@ from core.mixins import NotificationMixin from .models import Notification, Log from rolepermissions.shortcuts import assign_role from django.contrib.auth.decorators import login_required +from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger + #API REST IMPORTS from .serializers import LogSerializer from rest_framework import status, serializers, permissions, viewsets @@ -103,16 +105,24 @@ class GuestView (ListView): template_name = 'guest.html' context_object_name = 'courses' + queryset = CourseCategory.objects.all() paginate_by = 10 - def get_queryset(self): - return Course.objects.filter(public=True) - - def get_context_data (self, **kwargs): context = super(GuestView, self).get_context_data(**kwargs) - context['categorys_courses'] = CourseCategory.objects.all() context['title'] = _("Guest") + queryset_list = CourseCategory.objects.all() + + paginator = Paginator(queryset_list, 10) + page = self.request.GET.get('page') + try: + queryset_list = paginator.page(page) + except PageNotAnInteger: + queryset_list = paginator.page(1) + except EmptyPage: + queryset_list = paginator.page(paginator.num_pages) + + context['categorys_courses'] = queryset_list return context -- libgit2 0.21.2