From: Patrick Canterino Date: Sun, 23 Jan 2022 20:01:20 +0000 (+0100) Subject: Added pagination X-Git-Url: https://git.p6c8.net/pcdenotes.git/commitdiff_plain/0f4e8b8769f4e9d58350b5d81cf931f61f03a33a Added pagination --- diff --git a/notes/templates/note_list.html b/notes/templates/note_list.html index e996fb2..bf278e1 100644 --- a/notes/templates/note_list.html +++ b/notes/templates/note_list.html @@ -4,7 +4,7 @@ {% block title %}Notes{% endblock %} {% block content %} - {% for note in notes %} + {% for note in notes_page %}

{{ note.title }}

ID: {{ note.id }}

@@ -16,5 +16,15 @@

No notes

{% endfor %} + +

Number of notes: {{ notes_count }}

{% endblock %} \ No newline at end of file diff --git a/notes/views.py b/notes/views.py index 4ebc94b..a0a82bc 100644 --- a/notes/views.py +++ b/notes/views.py @@ -1,4 +1,7 @@ from django.shortcuts import render, get_object_or_404 +from django.core.paginator import Paginator + +from pcdenotes.settings import NOTES_PER_PAGE from .models import Note # Create your views here. @@ -6,7 +9,18 @@ from .models import Note def note_list(request): notes = Note.objects.filter(status=1) notes_count = Note.objects.filter(status=1).count() - return render(request, 'note_list.html', {'notes': notes, 'notes_count': notes_count}) + paginator = Paginator(notes, NOTES_PER_PAGE) + + page_number = 1 + + try: + page_number = int(request.GET.get('page')) + except: + pass + + notes_page = paginator.get_page(page_number) + + return render(request, 'note_list.html', {'notes_page': notes_page, 'notes_count': notes_count, 'pages': paginator, 'page_number': page_number}) def note_detail(request, note_slug): note = get_object_or_404(Note, slug=note_slug, status=1) diff --git a/pcdenotes/settings.py b/pcdenotes/settings.py index 5e82661..1d455a7 100644 --- a/pcdenotes/settings.py +++ b/pcdenotes/settings.py @@ -142,4 +142,6 @@ MARKDOWNIFY = { #"STRIP": False, "BLEACH": False } -} \ No newline at end of file +} + +NOTES_PER_PAGE = 5 \ No newline at end of file