URLs Dinámicas en Django: Creación y Gestión Eficiente
Clase 13 de 32 • Curso de Django
Resumen
Configurar las URLs en Django es esencial para organizar tu proyecto y facilitar la navegación.
¿Cómo crear un archivo de URLs en Django?
Primero, debes crear un archivo urls.py
en cada aplicación que desarrolles. Por ejemplo, si tienes una aplicación llamada MyFirstApp
, debes crear un archivo urls.py
dentro de esta aplicación.
- Crear el archivo: En la aplicación
MyFirstApp
, crea un archivo llamadourls.py
. - Copiar y pegar configuración básica: Puedes copiar la configuración básica de otro archivo de URLs y modificarla según sea necesario.
- Eliminar enlaces e importaciones innecesarias: Mantén solo lo necesario para tu aplicación.
from django.urls import path
from . import views
urlpatterns = [
path('listado/', views.myView, name='listado'),
]
¿Cómo incluir URLs de una aplicación en el proyecto?
Para incluir las URLs de una aplicación en el proyecto principal, sigue estos pasos:
- Modificar el archivo de URLs del proyecto: Agrega un nuevo
path
que incluya las URLs de tu aplicación.
from django.urls import include, path
urlpatterns = [
path('carros/', include('myFirstApp.urls')),
]
- Importar el include: Asegúrate de importar
include
desdedjango.urls
.
¿Cómo configurar un servidor de desarrollo?
Para probar los cambios, ejecuta el servidor de desarrollo:
python manage.py runserver
Esto iniciará el servidor y podrás ver los cambios en tiempo real.
¿Cómo crear URLs dinámicas?
Para crear URLs que acepten parámetros dinámicos, sigue estos pasos:
- Definir una URL dinámica: Utiliza los caracteres
<
y>
para especificar el tipo de dato y el nombre del parámetro.
urlpatterns = [
path('detalle/<int:id>/', views.detalle, name='detalle'),
]
- Modificar la vista para aceptar parámetros: Asegúrate de que tu vista acepte los parámetros correspondientes.
def detalle(request, id):
return HttpResponse(f"El ID es {id}")
¿Cómo manejar diferentes tipos de datos en URLs?
Django permite convertir diferentes tipos de datos en las URLs, como enteros y cadenas de texto:
- Enteros: Utiliza
<int:nombre>
para enteros. - Cadenas de texto: Utiliza
<str:nombre>
para cadenas de texto.
urlpatterns = [
path('marca/<str:brand>/', views.marca, name='marca'),
]
¿Cómo probar URLs dinámicas en el navegador?
- Probar con enteros: Accede a una URL que requiera un entero, como
detalle/1/
. - Probar con cadenas de texto: Accede a una URL que requiera una cadena de texto, como
marca/mazda/
.