Obtener parámetros pasados ​​​​por URL en Django

Django es un marco completo que puede ayudarlo a crear aplicaciones web de cualquier forma. Este artículo analiza cómo hacer que las URL pasen los parámetros en las vistas de django para manejar la función de la misma. Es posible que haya visto varios blogs con direcciones URL como: 

www.ejemplo.com/articulos/991 

En la URL anterior, 991 es el Id. del artículo que se le está entregando actualmente. Vamos a hacer esta funcionalidad en Django.

Configuración del proyecto

  • Cree un nuevo entorno virtual e instale Django.
  • Inicie un nuevo proyecto Django escribiendo este comando: –
django-admin startproject test
  • Cree un modelo de artículo muy simple en su models.py.

python3

class Article(models.Model):
    author = models.CharField(max_length = 20)
    content = models.TextField()
  • Ahora ve a django admin y agrega algunos artículos para probar.

Crear URL

Ahora abra su archivo urls.py y agregue el patrón de URL como se indica a continuación: –

python3

url_patterns += [
    path("articles/<id>/", views.article_detail, name ="article_detail"),
]

Asegúrese de importar su archivo views.py aquí.

El <id> aquí nos ayudará a obtener y usar el parámetro id en nuestra vista.

Vista de escritura

Ahora cree un nuevo archivo views.py y agregue la siguiente vista: –

python3

def article_detail(request, id):
  article = Article.objects.filter(id = id)
  return render("your_template", context ={"article":article})

Asegúrese de reemplazar your_template con la ruta de su plantilla. Ahora debería poder acceder al artículo dentro de su plantilla y renderizarlo.

Visite http://localhost:8000/articles/1 en su navegador y podrá ver su artículo. Si reemplaza 1 con una identificación inexistente, mostrará un error 404 no encontrado .

Publicación traducida automáticamente

Artículo escrito por karn212000 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 *