From 89b9a6b0162e0a157688b6d641d848c6c8a95414 Mon Sep 17 00:00:00 2001 From: JKuijperM Date: Tue, 27 Jan 2026 18:35:40 +0100 Subject: [PATCH] Added pagination --- .../templates/expenses/expense_list.html | 21 +++++++++++++++++-- expenses_manager/expenses/views.py | 7 +++++++ 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/expenses_manager/expenses/templates/expenses/expense_list.html b/expenses_manager/expenses/templates/expenses/expense_list.html index e2af992..3761672 100644 --- a/expenses_manager/expenses/templates/expenses/expense_list.html +++ b/expenses_manager/expenses/templates/expenses/expense_list.html @@ -51,7 +51,7 @@ - {% for expense in expenses %} + {% for expense in page_obj %} {{ expense.date }} {{ expense.category.name }} @@ -67,6 +67,23 @@ {% endfor %} - + + + + \ No newline at end of file diff --git a/expenses_manager/expenses/views.py b/expenses_manager/expenses/views.py index accf304..2ff8fb8 100644 --- a/expenses_manager/expenses/views.py +++ b/expenses_manager/expenses/views.py @@ -5,6 +5,7 @@ from .forms import ExpenseForm from django.db.models import Sum from django.contrib.auth import login +from django.core.paginator import Paginator from django.utils.ipv6 import is_valid_ipv6_address from django.db.models.functions import ExtractMonth, ExtractYear @@ -121,6 +122,11 @@ def expense_list(request): categories = Category.objects.filter(owner=request.user).order_by('name') + # Pagination + paginator = Paginator(expenses, 10) + page_number = request.GET.get('page') + page_obj = paginator.get_page(page_number) + return render ( request, 'expenses/expense_list.html', @@ -130,6 +136,7 @@ def expense_list(request): 'selected_year': year, 'selected_month': month, 'selected_category': category, + 'page_obj': page_obj, }, )