Commit 8782bc0108072b0d532f84019c3946949decd76d
1 parent
973b673b
Exists in
master
and in
5 other branches
paginator in list course's category
Showing
2 changed files
with
39 additions
and
0 deletions
Show diff stats
courses/templates/category/index.html
@@ -94,6 +94,27 @@ | @@ -94,6 +94,27 @@ | ||
94 | </div> | 94 | </div> |
95 | {% endfor %} | 95 | {% endfor %} |
96 | {% endif %} | 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 | <div class="row" id="modal_category"> | 118 | <div class="row" id="modal_category"> |
98 | <script src="{% static 'js/modal_category.js' %}"></script> | 119 | <script src="{% static 'js/modal_category.js' %}"></script> |
99 | {% endblock %} | 120 | {% endblock %} |
100 | \ No newline at end of file | 121 | \ No newline at end of file |
courses/views.py
@@ -303,6 +303,24 @@ class IndexCatView(LoginRequiredMixin, generic.ListView): | @@ -303,6 +303,24 @@ class IndexCatView(LoginRequiredMixin, generic.ListView): | ||
303 | queryset = CourseCategory.objects.all() | 303 | queryset = CourseCategory.objects.all() |
304 | template_name = 'category/index.html' | 304 | template_name = 'category/index.html' |
305 | context_object_name = 'categories' | 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 | class CreateCatView(LoginRequiredMixin, HasRoleMixin, generic.edit.CreateView): | 325 | class CreateCatView(LoginRequiredMixin, HasRoleMixin, generic.edit.CreateView): |
308 | 326 |