Gestión de URLs en Django: Conceptos Básicos

Gestión de URLs en Django: Conceptos Básicos

En Django, las URLs son la forma en que el framework sabe qué vista debe cargar para una solicitud HTTP específica. Las URLs se definen en un archivo llamado urls.py, que se encuentra en la raíz de cada aplicación Django.

Conceptos básicos

Una URL en Django es un patrón que se utiliza para identificar una vista. El patrón puede ser tan simple como un nombre de ruta o tan complejo como una expresión regular.

Nombres de ruta

Los nombres de ruta son la forma más sencilla de definir una URL en Django. Un nombre de ruta es simplemente una cadena de texto que se utiliza para identificar una vista.

Python
from django.urls import path

urlpatterns = [
    path('home', views.home, name='home'),
]

En este ejemplo, la URL /home se asigna a la vista views.home. El nombre de ruta home se puede utilizar para referenciar esta vista en otros lugares, como en las plantillas o en el código de Python.

Expresiones regulares

Las expresiones regulares se pueden utilizar para definir URLs más complejas. Las expresiones regulares permiten que las URLs coincidan con patrones de texto más flexibles.

Python
from django.urls import path

urlpatterns = [
    path('blog/<slug:slug>', views.blog_post, name='blog_post'),
]

En este ejemplo, la URL /blog/<slug:slug> se asigna a la vista views.blog_post. La expresión regular <slug:slug> coincide con una cadena de texto que consta de cualquier número de caracteres alfanuméricos, separados por guiones bajos.

URLs con parámetros

Las URLs con parámetros permiten que las vistas reciban información adicional del usuario. Los parámetros se pasan a las vistas como argumentos.

Python
from django.urls import path

urlpatterns = [
    path('product/<int:product_id>', views.product_detail, name='product_detail'),
]

En este ejemplo, la URL /product/<int:product_id> se asigna a la vista views.product_detail. La expresión regular <int:product_id> coincide con un número entero. El número entero se pasa a la vista views.product_detail como el argumento product_id.

URLs de inclusión

Las URLs de inclusión permiten que una aplicación Django importe las URLs de otra aplicación. Las URLs de inclusión se utilizan a menudo para organizar las URLs de una aplicación en grupos lógicos.

Python
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('blog.urls')),
]

En este ejemplo, la URL /admin/ se asigna a las URLs de la aplicación Django de administración. La URL / se asigna a las URLs de la aplicación blog.

Resumen

Las URLs son una parte fundamental de cualquier aplicación Django. En este tutorial, hemos aprendido los conceptos básicos de la gestión de URLs en Django.