From 86b1d8d61b61c269eea03974e4decac869d801c7 Mon Sep 17 00:00:00 2001 From: JKuijperM Date: Tue, 27 Jan 2026 19:56:22 +0100 Subject: [PATCH] Added kpis to expense_list --- .../expenses/templates/expenses/expense_list.html | 6 ++++++ expenses_manager/expenses/views.py | 15 +++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/expenses_manager/expenses/templates/expenses/expense_list.html b/expenses_manager/expenses/templates/expenses/expense_list.html index e3eed27..0e37d34 100644 --- a/expenses_manager/expenses/templates/expenses/expense_list.html +++ b/expenses_manager/expenses/templates/expenses/expense_list.html @@ -53,6 +53,12 @@
+
+ Total: {{ kpi_total|floatformat:2 }}€ | + Gastos: {{ kpi_count }} | + Categorías: {{ kpi_categories }} +
+ diff --git a/expenses_manager/expenses/views.py b/expenses_manager/expenses/views.py index 443225a..30efdc5 100644 --- a/expenses_manager/expenses/views.py +++ b/expenses_manager/expenses/views.py @@ -126,6 +126,18 @@ def expense_list(request): expenses = expenses.order_by('-date') + total_amount = expenses.aggregate( + total=Sum('amount') + )['total'] or 0 + + expense_count = expenses.count() + + category_count = ( + expenses.values('category') + .distinct() + .count() + ) + # Pagination paginator = Paginator(expenses, 10) page_number = request.GET.get('page') @@ -143,6 +155,9 @@ def expense_list(request): 'categories': categories, 'year_list': [y.year for y in year_list], 'months': months, + 'kpi_total': total_amount, + 'kpi_count': expense_count, + 'kpi_categories': category_count, }, )