13.6. Creando un proyecto Django: plantillas y renderizado

Página 64

La creación de un proyecto Django implica varios pasos, uno de los más importantes es la creación y renderización de la plantilla. Django fue diseñado para ayudar a los desarrolladores a crear aplicaciones web de manera eficiente con menos código. El sistema de plantillas de Django es una parte crucial de esto, ya que permite a los desarrolladores crear interfaces de usuario complejas sin tener que escribir mucho código HTML.

¿Qué son las plantillas?

Las plantillas son archivos que contienen código HTML con marcado adicional para insertar datos dinámicos. En otras palabras, una plantilla es un archivo HTML que contiene marcadores de posición para los datos que se insertarán cuando se represente la plantilla.

¿Cómo crear una plantilla de Django?

Para crear una plantilla de Django, necesita crear un archivo HTML en el directorio de plantillas de su aplicación. Por ejemplo, si tiene una aplicación llamada "blog", puede crear un archivo llamado "post_list.html" en el directorio "blog/templates/blog".

El contenido de este archivo podría verse así:

{% extiende 'blog/base.html' %}

{% bloquear contenido %}
  

Publicaciones

{% para publicación en publicaciones %}

{{ post.título }}

{{ post.text|linebreaksbr }}

{% final de %} {% bloque final %}

Este es un ejemplo simple de una plantilla de Django. Extiende una plantilla base (base.html) y define un bloque de contenido. Dentro de ese bloque, recorre una lista de publicaciones y muestra el título y el texto de cada publicación. La etiqueta '|linebreaksbr' es un filtro que convierte los saltos de línea en etiquetas '
'.

Representación de plantilla

La representación de una plantilla es el proceso de llenar los marcadores de posición con datos reales. En Django, esto se hace usando la función 'render()'. Esta función toma un objeto HttpRequest, el nombre de una plantilla y un diccionario de datos, y devuelve un objeto HttpResponse con el contenido de la plantilla representada.

Aquí tienes un ejemplo de cómo puedes representar la plantilla 'post_list.html' en una vista:

desde django.shortcuts importar render

def lista_postal(solicitud):
    publicaciones = Publicación.objetos.todos()
    return render(solicitud, 'blog/post_list.html', {'publicaciones': publicaciones})

Esta función de vista recupera todas las publicaciones de la base de datos y luego llama a la función 'render()' con la solicitud, el nombre de la plantilla y un diccionario que contiene las publicaciones. La función 'render()' representa la plantilla y devuelve el resultado como una respuesta HTTP.

Conclusión

La creación y renderizado de plantillas son partes esenciales del desarrollo de aplicaciones web con Django. Las plantillas le permiten crear interfaces de usuario complejas con facilidad, mientras que el renderizado le permite completar estas plantillas con datos dinámicos. Con práctica, podrás crear aplicaciones web potentes y flexibles con Django.

Esto es sólo el comienzo. Hay mucho más que puedes hacer con las plantillas de Django, como herencia de plantillas, inclusión de plantillas, etiquetas y filtros de plantillas personalizados, y mucho más. Explora la documentación de Django para obtener más información sobre estas funciones avanzadas.

Ahora responde el ejercicio sobre el contenido:

¿Qué es la función 'render()' en Django y cómo se usa?

¡Tienes razón! Felicitaciones, ahora pasa a la página siguiente.

¡Tú error! Inténtalo de nuevo.

Siguiente página del libro electrónico gratuito:

6513.7. Creando un proyecto Django: URL y rutas

¡Obtén tu certificado para este curso gratis! descargando la aplicación Cursa y leyendo el libro electrónico allí. ¡Disponible en Google Play o App Store!

Disponible en Google Play Disponible en App Store

+ 6,5 millones
estudiantes

Certificado gratuito y
válido con código QR

48 mil ejercicios
gratis

Calificación de 4.8/5
en tiendas de aplicaciones

Cursos gratuitos de
vídeo, audio y texto.