Dentro de las estructuras de control, las estructuras de include, blocks y extends de Jinja son fundamentales para el desarrollo de las templates o plantillas en un programa de código que sea desarrollado con Flask. Muchas de estas se utilizan para la creación de aplicaciones o páginas web. Así pues, a continuación, recordaremos para que sirven las estructuras de control de Jinja y, por otro lado, nos enfocaremos de qué van los include, locks y extends de Jinja.
Las estructuras de control de Jinja
En la documentación oficial de Jinja hay una lista de estructuras de control o control structures que son utilizadas para configurar las templates que estás utilizando en el desarrollo de código con Python.
Las estructuras de control de Jinja se encargan de controlar la forma en la que fluye un programa realizado con Python, así como la utilización de condicionales, tal como if, elif o else, los bucles o los bloques, entre otros elementos del programa. Usualmente, te encontrarás en un programa de código con las estructuras de control de Jinja cuando veas el siguiente comando o método: {% … %}. Este siempre almacenará un bloque de contenido.
Include, blocks y extends de Jinja
A continuación, te presentamos 3 de las varias estructuras de control de Jinja para que puedas utilizarlos en tus programa de código, cuyas necesidades sean utilizar las plantillas para el desarrollo de aplicaciones o plataformas web.
Include
La estructura de control de include se encarga de renderizar otra plantilla y agregarla a la plantilla que estás utilizando en ese preciso instante. Es decir, te permite integrar a otro tipo de archivo al presente.
La forma de representar un método que incluya la estructura de control se verá de la siguiente forma, donde incluirás un nombre del fichero o la sección que se necesita:
🔴 ¿Quieres Aprender a Programar con Python? 🔴
Descubre el Full Stack Jr. Bootcamp - Aprende a Programar desde Cero de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada
👉 Prueba gratis el Bootcamp Aprende a Programar desde Cero por una semana{% include ‘header.html’ %}
{% include ‘footer.html’ %}
La estructura de control include te permite instaurar una opción que se llama ignore missing, es decir, cuando no encuentra el archivo, pasa cualquier otro. No obstante, puedes poner un contexto sobre este misma opción para todo lo que se representa.
Blocks
La estructura de control blocks se utiliza en templates que integran la herencia en su desarrollo. Estos se encargan de definir marcadores y posiciones de los elementos de las plantillas “hijos”.
Se utilizan como un marcador para reemplazarlo por otro tipo de elemento e incluir una parte o extracto de código dentro de otro.
De acuerdo a la documentación de Jinja, los bloques se encargan de llamar a la plantilla y comentarle que una plantilla “hija” de la herencia podrá anular los marcadores de la posición. Siempre podrá existir bloques dentro de bloques que se verán representados en la estructura del producto final del programa.
La representación de esta estructura de control la puedes ver a continuación:
{% block head %}
{% endblock %}
Extends
Por último, encontramos la estructura de control extends que se encarga de establecer que una plantilla o template se ha extendido desde otra. Esta estructura localizará la plantilla “padre” de la herencia y podrá forma la extensión o plantilla “hija”. A diferencia del resto de estructuras de control, solo necesita un método que la abra, como veremos en la siguiente representación:
{% extends “nombre del fichero.html” %}
Si quieres saber más acerca de cómo funcionan estas estructuras y ver ejemplos mucho más específicos, puedes revisar nuestros bootcamps y la documentación oficial de la dependencia Jinja de Python.
¿Cuál es el siguiente paso?
Ahora que recuerdas las estructuras de control de Jinja y has profundizado en tus conocimientos acerca de las estructura include, blocks y extends de Jinja, estás más cerca de saber cómo configurar las templates o plantillas que ofrece esta dependencia de Flask para programas de desarrollo web con Python.
Si necesitas la colaboración de una guía profesional para que te acompañe en cada uno de los pasos que tomes en tu camino para desarrollar tu carrera laboral como programador, te recomendamos visitar el programa de Aprende a Programar desde Cero Full Stack Jr. Bootcamp. Con esta formación intensiva e íntegra de alta calidad, aprenderás de forma tanto teórica como práctica para convertirte en un profesional en muy pocos meses. ¿A qué estás esperando? ¡Anímate a matricularte ya y sigue programando con Python!