1. URLs y Enrutamiento Avanzado 🌐
El enrutador de URLs es la primera parada en el patrón MVT de Django. Inspecciona la URL recibida en la petición HTTP y decide qué vista debe procesar la solicitud.
El Patrón MVT y el Enrutador de Rutas
Django organiza las aplicaciones bajo el patrón Model (ORM), View (Lógica) y Template (HTML). El enrutador analiza la URL solicitada y determina la vista receptora.

Estructura Modular y Namespaces
En proyectos profesionales, el archivo principal config/urls.py delega el tráfico a las URLs de cada app mediante include() y define espacios de nombres para evitar colisiones entre rutas con el mismo nombre.
Path Converters Nativos
Django incluye 5 convertidores automáticos de rutas que capturan segmentos de la URL y los transforman al tipo de dato en Python antes de entregarlos a la vista:
<int:id>: Enteros positivos (ej:/libro/42/→id = 42).<slug:slug>: Cadenas alfanuméricas amigables para SEO (ej:/libro/clean-code/).<str:cadena>: Texto simple sin barras (ej:/autor/gabriel/).<uuid:token>: Identificadores UUID v4 (ej:/prestamo/550e8400-e29b-41d4-a716-446655440000/).<path:subruta>: Captura rutas completas incluyendo barras (ej:/archivos/2024/09/doc.pdf).
Convertidores Personalizados (Custom Path Converters)
Permiten validar reglas de negocio complejas en la URL (como un código ISBN o un año de 4 dígitos) mediante una clase con atributo regex y métodos to_python() y to_url().
Registro e integración en el archivo de rutas:
Expresiones Regulares con re_path()
Para patrones de ruta que requieren expresiones regulares exactas (como fechas combinadas con nombres de sección):
Query Parameters (Parámetros GET)
Los parámetros tras el signo de interrogación (?q=python&categoria=backend) se capturan en la vista mediante el diccionario de consulta request.GET:
Generación Inversa de URLs (Reverse Resolution)
Evita URLs estáticas escritas a mano. Genera URLs dinámicamente con reverse() en Python o el tag {% url %} en las plantillas HTML:


