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
- El módulo template y los archivos .j2
- Variables y expresiones en Jinja2
- Bucles y bloques if en plantillas
- Filtros: default, join y upper