post thumbnail

Django desde Cero: Relaciones o Asociaciones en Base de Datos (Parte II)

Publicado Por: Carlos Picca, El 06/11/2013


Detalles del Curso:

Dificultad: Aprendiz

Duración: 10 min


Más artículos en Django desde Cero

Este es el artículo Relaciones o Asociaciones en Base de Datos (Parte II) de la serie Django desde Cero - Mostrar todos

  1. Instalación y herramientas
  2. Modelos y Base de Datos
  3. Vistas Dinámicas
  4. Sitio de Administración
  5. Formularios (Forms)
  6. Urls Avanzadas
  7. Validaciones de formulario
  8. Relaciones o Asociaciones en Base de Datos (Parte I)
  9. Relaciones o Asociaciones en Base de Datos (Parte II)

Bienvenidos una vez más a Django desde Cero, curso en el cual aprendemos a programar sin conocimiento alguno. En el capítulo anterior, te enseñe como crear asociaciones en las bases de datos con la ayuda de Django, como crear el formulario para rellenar dicha asociación, como definir el url que nos va ayudar a crear las asociaciones y finalmente como crear la vista la cual va a procesar la información que guardemos en dicho formulario. Si eres nuevo en este curso, te recomiendo que le eches un vistazo al capítulo anterior para que te pongas en contexto (Capítulo 8 - Relaciones o Asociaciones en Base de Datos (Parte I))

Hoy, vamos a ver como crear el template o la plantilla necesaria para crear el comentario, agregaremos un botón el cual nos va a permitir desde el artículo agregar los comentarios y por último, veremos como desplegar todos los comentarios disponible dentro de un artículo.

¡Alerta!

Todos los ejemplos usados en el tutorial de son una continuación de los ejemplos del capitulo anterior.

¿Como crear la plantilla para mostrar una asociación o relación de base de datos en Django?

Lo primero que tenemos que hacer es crear un formulario donde nuestros usuarios puedan generar los comentarios de cada articulo. Para realizar dicho formulario nos vamos a ayudar de las plantillas o templates de Django. Veamos como hacerlo:

Generemos el archivo agregar_comentario.html dentro de la carpeta de templates (la carpeta templates esta ubicada dentro de la app blog que creamos anteriormente) y agreguemos el siguiente código:

<form action="/articulos/agregar_comentario/{{ articulo.id }}/" method="post">{% csrf_token %}
<ul>
{{ form.as_ul }}
</ul>

<input type="submit" name="submit" value="Agregar">
</form>

Observemos los siguiente:

  • La plantilla va a contener un form sencillo en html.
  • La acción del formulario debe ir hacia el url que creamos anteriormente para que la vista pueda aplicar la lógica que generamos en la parte I
  • Vamos a desplegar el formulario ComentarioForm con la ayuda de form.as_ul.

Si no sabes como manejar los formularios dentro de Django te recomiendo que le eches un ojo a Formularios en Django.


¿Como mostramos y agregamos los comentarios a un articulo?

Sencillo, para mostrar los comentarios disponibles dentro de un articulo es necesario crear un bucle el cual muestre todos los comentarios disponibles dentro de la plantilla del articulo. Veamos como hacerlo:

Debemos agregar el siguiente código al archivo agregar_comentario.html:

<h2>
  Comentarios Disponibles
</h2>

{% for c in articulo.comentario_set.all %}
  {{ c.nombre}}: {{c.cuerpo}}
{% endfor %}

Observemos que con {% for c in articulo.comentario_set.all %} estamos creando un bucle el cual va a recorrer todos los comentarios dentro del articulo. Con

{{ c.nombre}}: {{c.cuerpo}} imprimimos el nombre y el cuerpo del comentario.

Para poder agregar los comentarios en un articulo es necesario crear un link que nos permita llegar desde la plantilla del articulo.html hasta la plantilla de agregar_comentario.html. Veamos como hacerlo:

Debemos agregar el siguiente código al archivo agregar_comentario.html:

  <a href="/articulos/agregar_comentario/{{ articulo.id }}">Agregar Comentario</a>

Observemos que en la dirección de la pagina que el navegador debe buscar le estamos pasando el id del articulo para que la vista sepa o reconozca de que articulo en particular estamos hablando. El id se lo pasamos con {{ articulo.id }}.

Si no sabes como manejar las vistas dentro de Django te recomiendo que le eches un ojo a Vistas en Django.


Probemos

Para probar encendamos el server y naveguemos hasta un articulo en particular dentro de nuestros site:

agregar-comentario-django

Podemos observar que no poseemos ningún comentario disponible y que aparece el link para agregar un comentario.

Si queremos agregar un comentario hacemos click en Agregar Comentario y nos debe salir lo siguiente:

comentario-django

Una vez que hayamos guardado el comentario o vamos a poder observar disponible en el articulo:

articulo-comentario-django

Por último, puedes encontrar el código de toda la serie en el repositorio git que esta al principio del tutorial.


Conclusión

En esta lección, aprendimos como crear el template o la plantilla necesaria para crear el comentario, agregaremos un botón el cual nos va a permitir desde el artículo agregar los comentarios y por último, veremos como desplegar todos los comentarios disponible dentro de un artículo. Si tienes alguna pregunta, yo estaré feliz de responderte en los comentarios, además espero que te unas y le eches un vistazo a todo el resto de este curso.

Nos vemos en la próxima serie de Django, ¡Django Avanzado!

¡Hasta entonces...!


¿Te ha gustado esta publicación?

Compártela:

Por Carlos Picca

Conoce más sobre este autor aquí


comments powered by Disqus