diff --git a/expenses_manager/expenses/templates/expenses/dashboard.html b/expenses_manager/expenses/templates/expenses/dashboard.html
new file mode 100644
index 0000000..731cac7
--- /dev/null
+++ b/expenses_manager/expenses/templates/expenses/dashboard.html
@@ -0,0 +1,11 @@
+
+
Dashboard
+
+Gastos por categoría
+
+ {% for row in by_category %}
+ - {{ row.category__name}} → {{row.total}}
+ {% empty %}
+ - No hay datos
+ {% endfor %}
+
\ No newline at end of file
diff --git a/expenses_manager/expenses/urls.py b/expenses_manager/expenses/urls.py
index 14457e4..83c5986 100644
--- a/expenses_manager/expenses/urls.py
+++ b/expenses_manager/expenses/urls.py
@@ -6,4 +6,5 @@ urlpatterns = [
path('new/', views.expense_create, name='expense_create'),
path('/edit/', views.expense_edit, name='expense_edit'),
path('/delete/', views.expense_delete, name='expense_delete'),
+ path('dashboard/', views.dashboard, name='dashboard'),
]
\ No newline at end of file
diff --git a/expenses_manager/expenses/views.py b/expenses_manager/expenses/views.py
index 04e6f7d..a7622ed 100644
--- a/expenses_manager/expenses/views.py
+++ b/expenses_manager/expenses/views.py
@@ -1,10 +1,11 @@
from .models import Expense
from .forms import ExpenseForm
+from django.db.models import Sum
from django.contrib.auth import login
from django.utils.ipv6 import is_valid_ipv6_address
-from django.shortcuts import get_object_or_404, render, redirect
from django.contrib.auth.decorators import login_required
+from django.shortcuts import get_object_or_404, render, redirect
@login_required
def expense_list(request):
@@ -75,4 +76,16 @@ def expense_delete(request, pk):
request,
'expenses/expense_confirm_delete.html',
{'expense': expense},
- )
\ No newline at end of file
+ )
+
+
+@login_required
+def dashboard(request):
+
+ expenses = Expense.objects.filter(owner=request.user)
+
+ by_category = (expenses.values('category__name').annotate(total=Sum('amount')))
+
+
+
+ return render(request, 'expenses/dashboard.html', {'by_category': by_category})
\ No newline at end of file