Patrones de URL de Django | Python

requisitos previos:

Vistas en Django

En Django, las vistas son funciones de Python que toman una solicitud de URL como parámetro y devuelven una respuesta HTTP o generan una excepción como 404. Cada vista debe asignarse a un patrón de URL correspondiente. Esto se hace a través de un módulo de Python llamado URLConf (configuración de URL)

Deje que el nombre del proyecto sea myProject. El módulo de Python que se usará como URLConf es el valor de ROOT_URLCONFen myProject/settings.py. De forma predeterminada, esto está establecido en 'myProject.urls'. Cada módulo de URLConf debe contener una variable urlpatternsque es un conjunto de patrones de URL que se compararán con la URL solicitada. Estos patrones se verificarán en secuencia, hasta que se encuentre la primera coincidencia. Luego se invoca la vista correspondiente a la primera coincidencia. Si no coincide ningún patrón de URL, Django invoca una vista de manejo de errores apropiada.

Incluyendo otros módulos URLConf
Es una buena práctica tener un módulo URLConf para cada aplicación en Django. Este módulo debe incluirse en el módulo URLConf raíz de la siguiente manera:

from django.contrib import admin
from django.urls import path, include
  
urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('books.urls')),
]

Esto le dice a Django que busque patrones de URL en el archivo books/urls.py.

patrones de URL

Aquí hay un código de muestra para books/urls.py:

from django.urls import path
from . import views
  
urlpatterns = [
    path('books/<int:pk>/', views.book_detail),
    path('books/<str:genre>/', views.books_by_genre),
    path('books/', views.book_index), 
]

Por ejemplo,

  • Una solicitud de URL a /books/crime/ coincidirá con el segundo patrón de URL. Como resultado, Django llamará a la función views.books_by_genre(request, genre = "crime").
  • De manera similar, una solicitud de URL /books/25/ coincidirá con el primer patrón de URL y Django llamará a la función views.book_detail(request, pk =25).

Aquí, inty strson convertidores de ruta y capturan un valor entero y de string respectivamente.

Conversores de ruta:
los siguientes tipos de convertidores de ruta están disponibles en Django

  • int : coincide con cero o cualquier número entero positivo.
  • str : coincide con cualquier string que no esté vacía, excepto el separador de ruta (‘/’).
  • slug : coincide con cualquier string de slug, es decir, una string que consta de letras, dígitos, guiones y guiones bajos.
  • ruta : coincide con cualquier string no vacía, incluido el separador de ruta (‘/’)
  • uuid : coincide con un UUID (identificador único universal).

Publicación traducida automáticamente

Artículo escrito por Abhishek De y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *