All URL patterns for Gestor de Tareas Django are declared in a single file:Documentation Index
Fetch the complete documentation index at: https://mintlify.com/LucPinheiro/gestor-tarea-django/llms.txt
Use this file to discover all available pages before exploring further.
mi_proyecto/urls.py. The project uses Django’s path() router and mixes custom view functions (imported from tareas.views) with Django’s built-in class-based LoginView and LogoutView from django.contrib.auth. Authenticated routes enforce login via the @login_required decorator in the view layer; unauthenticated requests are redirected to LOGIN_URL = 'login' (i.e., /).
URL Configuration
mi_proyecto/urls.py
Route Details
The sections below document each route individually. Routes that require authentication redirect unauthenticated users to/ (the login page) as configured by LOGIN_URL = 'login' and LOGIN_REDIRECT_URL = '/tareas/' in settings.py.
GET / — Login Page
logindjango.contrib.auth.views.LoginView — renders tareas/login.htmlPublic — no login required
LOGIN_REDIRECT_URL (/tareas/). After logout, LOGOUT_REDIRECT_URL also points here (/).
GET /tareas/ — Task List
lista_tareastareas.views.lista_tareasRequired —
@login_requiredvista query parameter. Tasks are ordered by estado then id. Pagination is set to 10 tasks per page.
Query Parameters
Switches the display mode. Accepted values:
kanban, lista.Filters the list to tasks matching the given state. Accepted values:
Borrador, Pendiente, En proceso, Completada.Case-insensitive substring filter applied to
titulo (icontains lookup).Page number for the paginated list view.
GET /crear/ — New Task Form
crear_tareatareas.views.crear_tareaPublic — no
@login_required decorator is applied to this viewTareaForm in tareas/detalle.html with modo_formulario=True and tarea=None.
POST /crear/ — Submit New Task
crear_tareatareas.views.crear_tareaPublic
TareaForm. On success, saves the new Tarea and redirects to detalle_tarea for the newly created task ID. On failure, re-renders the form with validation errors.
GET /editar/<id>/ — Edit Task Form
editar_tareatareas.views.editar_tareaRequired —
@login_requiredTarea with the given id (404 if not found) and renders a pre-populated TareaForm in tareas/detalle.html with modo_formulario=True.
Path Parameters
Primary key of the task to edit.
POST /editar/<id>/ — Submit Edit Form
editar_tareatareas.views.editar_tareaRequired —
@login_requiredTarea instance. On success, saves and redirects to detalle_tarea, setting a success message via django.contrib.messages. On failure, re-renders with errors.
Path Parameters
Primary key of the task to update.
GET /eliminar/<id>/ — Delete Confirmation Page
eliminar_tareatareas.views.eliminar_tareaRequired —
@login_requiredtareas/confirmar_eliminar.html with the Tarea object so the template can display task details before the user confirms deletion.
Path Parameters
Primary key of the task to delete.
POST /eliminar/<id>/ — Confirm Delete
eliminar_tareatareas.views.eliminar_tareaRequired —
@login_requiredTarea and redirects to /tareas/?vista=lista with a success message.
Path Parameters
Primary key of the task to delete.
GET /detalle/<id>/ — Task Detail View
detalle_tareatareas.views.detalle_tareaRequired —
@login_requiredtareas/detalle.html with modo_formulario=False. Also computes the task’s position in the full ordered list and provides anterior/siguiente navigation references.
Path Parameters
Primary key of the task to display.
Passed through to the template so the “back” navigation link can return to the correct list view mode.
Passed through to preserve the current list page when navigating back.
Defaults to the task’s own
id as a string. Used by the template to highlight the active row in list view.GET /exportar/ — Export Single Task as CSV
exportar_csvtareas.views.exportar_csvRequired —
@login_requiredtareas.csv). When tarea_id is supplied, only that task is exported. When tarea_id is absent and no POST body is present, all tasks are exported ordered by estado.
Query Parameters
If provided, restricts the export to the single task with this primary key.
id, titulo, descripcion, estado, prioridad, fecha_limite, fecha_creada
POST /exportar/ — Export Selected Tasks as CSV
exportar_csvtareas.views.exportar_csvRequired —
@login_requiredestado. If the list is empty and no tarea_id query param is set, all tasks are exported.
POST Body Parameters
A multi-value list of task primary keys to include in the export.
GET /importar/ — Import CSV Form
importar_csvtareas.views.importar_csvRequired —
@login_requiredtareas/importar_csv.html with a file upload form.
POST /importar/ — Upload CSV File
importar_csvtareas.views.importar_csvRequired —
@login_requiredid already exists in the database are skipped (not overwritten). Rows with processing errors are silently counted as errores. Encoding is attempted first as utf-8-sig, then falls back to latin-1. On completion, redirects to lista_tareas with an appropriate success or warning message.
POST Body Parameters
A CSV file whose columns match the export format:
id, titulo, descripcion, estado, prioridad, fecha_limite, fecha_creada.The import skips any row whose
id already exists in the tareas_tarea table. To update existing tasks, edit them individually via /editar/<id>/.GET /cambiar-estado/<id>/<estado>/ — Quick State Change
cambiar_estado_simpletareas.views.cambiar_estado_simpleRequired —
@login_requiredtarea.estado to the provided estado value and saves. Redirects to detalle_tarea for the same task with a success message.
Path Parameters
Primary key of the task to update.
New state value. Must be one of:
Borrador, Pendiente, En proceso, Completada.POST /logout/ — Log Out
logoutdjango.contrib.auth.views.LogoutViewSession-based — clears the current user’s session
LOGOUT_REDIRECT_URL (/).
POST /eliminar-seleccionadas/ — Bulk Delete
eliminar_tareas_seleccionadastareas.views.eliminar_tareas_seleccionadasNo
@login_required decorator — relies on session context from the list pagetareas_seleccionadas POST list. Redirects to /tareas/?vista=lista after deletion. Sets a singular or plural success message depending on how many tasks were deleted.
POST Body Parameters
One or more task primary keys to delete.
GET /tareas/<id>/prioridad/<prioridad>/ — Quick Priority Change
cambiar_prioridadtareas.views.cambiar_prioridadRequired —
@login_requiredtarea.prioridad to the provided integer value and saves. Redirects to detalle_tarea for the same task.
Path Parameters
Primary key of the task to update.
New priority value. Must be one of:
1 (Baja), 2 (Media), 3 (Alta).GET /admin/ — Django Admin
django.contrib.admin — Django’s built-in admin siteDjango admin’s own authentication — requires a superuser or staff account
Route Summary Table
| Method | Path | URL Name | Auth Required |
|---|---|---|---|
| GET | / | login | No |
| GET | /tareas/ | lista_tareas | Yes |
| GET | /crear/ | crear_tarea | No |
| POST | /crear/ | crear_tarea | No |
| GET | /editar/<id>/ | editar_tarea | Yes |
| POST | /editar/<id>/ | editar_tarea | Yes |
| GET | /eliminar/<id>/ | eliminar_tarea | Yes |
| POST | /eliminar/<id>/ | eliminar_tarea | Yes |
| GET | /detalle/<id>/ | detalle_tarea | Yes |
| GET | /exportar/ | exportar_csv | Yes |
| POST | /exportar/ | exportar_csv | Yes |
| GET | /importar/ | importar_csv | Yes |
| POST | /importar/ | importar_csv | Yes |
| GET | /cambiar-estado/<id>/<estado>/ | cambiar_estado_simple | Yes |
| POST | /logout/ | logout | Session |
| POST | /eliminar-seleccionadas/ | eliminar_tareas_seleccionadas | No |
| GET | /tareas/<id>/prioridad/<prioridad>/ | cambiar_prioridad | Yes |
| GET/POST | /admin/ | — | Admin auth |