{% block title %}Notes{% endblock %}
{% block content %}
- {% for note in notes %}
+ {% for note in notes_page %}
<article class="container mt-5">
<h2>{{ note.title }}</h2>
<p>ID: {{ note.id }}</p>
<p>No notes</p>
{% endfor %}
+ <ul class="pagination">
+ {% for page in pages %}
+ {% ifnotequal page.number page_number %}
+ <li class="page-item"><a href="?page={{ page.number }}" class="page-link">{{ page.number }}</a></li>
+ {% else %}
+ <li class="page-item active"><span class="page-link">{{ page.number }}</span></li>
+ {% endifnotequal %}
+ {% endfor %}
+ </ul>
+
<p>Number of notes: {{ notes_count }}</p>
{% endblock %}
\ No newline at end of file
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.
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)