Commit 8782bc0108072b0d532f84019c3946949decd76d

Authored by Matheus Lins
1 parent 973b673b

paginator in list course's category

courses/templates/category/index.html
... ... @@ -94,6 +94,27 @@
94 94 </div>
95 95 {% endfor %}
96 96 {% endif %}
  97 + <div class="col-md-12">
  98 + <nav aria-label="Page navigation">
  99 + <ul class="pagination">
  100 + {% if page_obj.has_previous %}
  101 + <li>
  102 + <a href="?page={{ page_obj.previous_page_number }}"><span><<</span></a>
  103 + </li>
  104 + {% endif %}
  105 + {% for page_number in paginator.page_range %}
  106 + <li{% if page_obj.number == page_number %} class="active"{% endif %}>
  107 + <a href="?page={{ page_number }}">{{ page_number }}</a>
  108 + </li>
  109 + {% endfor %}
  110 + {% if page_obj.has_next %}
  111 + <li>
  112 + <a href="?page={{ page_obj.next_page_number }}"><span>>></span></a>
  113 + </li>
  114 + {% endif %}
  115 + </ul>
  116 + </nav>
  117 + </div>
97 118 <div class="row" id="modal_category">
98 119 <script src="{% static 'js/modal_category.js' %}"></script>
99 120 {% endblock %}
100 121 \ No newline at end of file
... ...
courses/views.py
... ... @@ -303,6 +303,24 @@ class IndexCatView(LoginRequiredMixin, generic.ListView):
303 303 queryset = CourseCategory.objects.all()
304 304 template_name = 'category/index.html'
305 305 context_object_name = 'categories'
  306 + paginate_by = 5
  307 +
  308 + def get_context_data(self, **kwargs):
  309 + context = super(IndexCatView, self).get_context_data(**kwargs)
  310 + list_cat = CourseCategory.objects.filter(course_category = True).order_by('name')
  311 + paginator = Paginator(list_cat, self.paginate_by)
  312 + page = self.request.GET.get('page')
  313 +
  314 + try:
  315 + list_cat = paginator.page(page)
  316 + except PageNotAnInteger:
  317 + list_cat = paginator.page(1)
  318 + except EmptyPage:
  319 + list_cat = paginator.page(paginator.num_pages)
  320 +
  321 + context['list_cat'] = list_cat
  322 +
  323 + return context
306 324  
307 325 class CreateCatView(LoginRequiredMixin, HasRoleMixin, generic.edit.CreateView):
308 326  
... ...