0Pricing
Ansible Academy · Lección

Variables y expresiones en Jinja2

Inserte valores en la plantilla

Variables y expresiones en Jinja2 es una lección gratuita de Ansible Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Ansible Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Ansible Academy incluye 4 lecciones en total.

Variables dentro de plantillas

Todas las variables disponibles para su play también están disponibles en la plantilla. Solo tiene que encerrar su nombre entre {{ }} para imprimir el valor. 🌟

server_name {{ domain }};
worker_processes {{ cpu_count }};

Acceder a claves de diccionario

Para una variable de tipo diccionario, acceda a una clave mediante la notación de punto o de corchetes. Tanto db.host como db['host'] devuelven el mismo valor.

host = {{ db.host }}
port = {{ db['port'] }}

Indexar una lista

Seleccione un elemento de una lista por su posición, empezando a contar desde cero. {{ servers[0] }} le proporciona la primera entrada.

primary = {{ servers[0] }}
backup = {{ servers[1] }}

Usar facts de Ansible

Los facts recopilados son simplemente variables, así que las plantillas también pueden leerlos. ansible_hostname inserta en el archivo el nombre del propio host.

# This host is {{ ansible_hostname }}
bind {{ ansible_default_ipv4.address }}

Matemáticas en expresiones

Jinja2 realiza operaciones aritméticas dentro de las llaves. Puede calcular un valor en lugar de escribirlo directamente, como duplicar la cantidad de workers.

max_workers {{ cpu_count * 2 }}

Concatenación de cadenas

Una cadenas con el operador ~. Este une fragmentos independientemente de su tipo, a diferencia de plus, que es numérico.

url = http://{{ host ~ ':' ~ port }}

Expresiones de comparación

Las expresiones también pueden comprobar condiciones. Comparaciones como cpu_count > 4 devuelven true o false para usarlas después en la lógica.

{{ http_port == 443 }}
{{ replicas >= 3 }}

Comentarios en plantillas

Encierre sus notas en {# ... #}. Jinja2 las elimina por completo, por lo que nunca aparecen en el archivo generado.

{# This file is managed by Ansible #}
listen {{ http_port }};

Las variables no definidas provocan errores

De forma predeterminada, hacer referencia a una variable inexistente detiene el play con un error de undefined variable. Jinja2 es estricto a propósito.

Citar cadenas con cuidado

Una cadena literal dentro de una expresión necesita comillas. Sin ellas, Jinja2 interpreta prod como un nombre de variable, no como el texto prod.

{{ 'production' if env == 'prod' else 'staging' }}

Tres tipos de llaves

Recuerde el trío: {{ }} imprime un valor, {% %} ejecuta lógica y {# #} contiene un comentario. Cada uno tiene su función.

Comprobación rápida

Quiere que una plantilla muestre el valor almacenado en una variable. ¿Qué delimitador lo imprime?

Repaso

Ahora puede leer variables, facts, claves de diccionarios y elementos de listas en las plantillas, hacer cálculos, unir cadenas y añadir comentarios. Las expresiones dan vida a la configuración. ✨

Preguntas frecuentes

¿La lección «Variables y expresiones en Jinja2» es gratis?

Sí — el texto completo de «Variables y expresiones en Jinja2» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Ansible Academy, actualiza a CoddyKit PRO. El curso de Ansible Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Variables y expresiones en Jinja2»?

Inserte valores en la plantilla Practicas Ansible Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Ansible Academy?

No se requiere experiencia previa. Ansible Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Variables y expresiones en Jinja2»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Ansible Academy?

Sí. Cada lección de Ansible Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. El módulo template y los archivos .j2
  2. Variables y expresiones en Jinja2
  3. Bucles y bloques if en plantillas
  4. Filtros: default, join y upper
← Volver a Ansible Academy