from django.views.generic import ListView class PaginatedListView(ListView): """ handles my own pagination system """ context_object_name = 'object_list' def dispatch(self, request, *args, **kwargs): path = request.path.split('/')[1:-1] if path[-1] == self.kwargs['page']: path = "/".join(t for t in path[:-1]) request.page_url = "/" + path + '/%d/' else: request.page_url = request.path + '%d/' print(request.page_url) request.page = int(self.kwargs['page']) return super(PaginatedListView, self).dispatch(request, *args, **kwargs)