Commit 91388004cb353aa637f6478adc8eb8b845721046
1 parent
90cb0003
Exists in
master
and in
5 other branches
Adding pagination on guest template/view [Issue #190]
Showing
3 changed files
with
19 additions
and
8 deletions
Show diff stats
core/templates/guest.html
| ... | ... | @@ -3,6 +3,7 @@ |
| 3 | 3 | |
| 4 | 4 | {% load i18n custom_filters %} |
| 5 | 5 | {% load static i18n %} |
| 6 | +{% load pagination %} | |
| 6 | 7 | |
| 7 | 8 | <html> |
| 8 | 9 | <head> |
| ... | ... | @@ -159,6 +160,7 @@ |
| 159 | 160 | </div> |
| 160 | 161 | {% endfor %} |
| 161 | 162 | |
| 163 | + {% pagination request paginator page_obj %} | |
| 162 | 164 | {% endblock %} |
| 163 | 165 | </div> |
| 164 | 166 | </div> | ... | ... |
core/urls.py
| ... | ... | @@ -11,7 +11,7 @@ urlpatterns = [ |
| 11 | 11 | url(r'^logout/$', auth_views.logout, {'next_page': 'core:home'}, name='logout'), |
| 12 | 12 | url(r'^notification/([0-9]+)/$', views.processNotification, name='notification_read'), |
| 13 | 13 | url(r'^getNotifications/$', views.getNotifications, name='getNotifications'), |
| 14 | - url(r'^guest/$', views.guest, name='guest'), | |
| 14 | + url(r'^guest/$', views.GuestView.as_view(), name='guest'), | |
| 15 | 15 | |
| 16 | 16 | #Reset Password |
| 17 | 17 | ... | ... |
core/views.py
| ... | ... | @@ -6,7 +6,7 @@ from .decorators import log_decorator |
| 6 | 6 | from django.contrib import messages |
| 7 | 7 | from django.shortcuts import render, redirect |
| 8 | 8 | from django.template.loader import render_to_string |
| 9 | -from django.views.generic import CreateView, UpdateView | |
| 9 | +from django.views.generic import CreateView, UpdateView, ListView | |
| 10 | 10 | from django.http import HttpResponse, JsonResponse |
| 11 | 11 | from django.core.mail import send_mail,BadHeaderError |
| 12 | 12 | from django.conf import settings |
| ... | ... | @@ -120,9 +120,18 @@ def getNotifications(request): |
| 120 | 120 | data['amountGotten'] = amountGotten |
| 121 | 121 | return JsonResponse(data) |
| 122 | 122 | |
| 123 | -def guest (request): | |
| 124 | - context = { | |
| 125 | - 'courses': Course.objects.filter(public=True), | |
| 126 | - 'categories': CourseCategory.objects.all(), | |
| 127 | - } | |
| 128 | - return render(request, 'guest.html', context) | |
| 129 | 123 | \ No newline at end of file |
| 124 | + | |
| 125 | +class GuestView (ListView): | |
| 126 | + | |
| 127 | + template_name = 'guest.html' | |
| 128 | + context_object_name = 'courses' | |
| 129 | + paginate_by = 10 | |
| 130 | + | |
| 131 | + def get_queryset(self): | |
| 132 | + return Course.objects.filter(public=True) | |
| 133 | + | |
| 134 | + | |
| 135 | + def get_context_data (self, **kwargs): | |
| 136 | + context = super(GuestView, self).get_context_data(**kwargs) | |
| 137 | + context['categories'] = CourseCategory.objects.all() | |
| 138 | + return context | ... | ... |