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, }, )