En el contexto de Jinja, un popular motor de plantillas para el lenguaje de programación Python, existen varias variables y filtros predefinidos que pueden ser utilizados para manipular datos y generar contenido dinámico en plantillas HTML, XML, u otros formatos de salida. Continuando con la exploración de estas funcionalidades, a continuación, se presentan algunas de las principales variables y filtros disponibles de manera estándar en Jinja:
Variables:
-
loop.index
: Esta variable proporciona el índice del ciclo actual en el que se encuentra. Es útil para realizar seguimiento del número de iteraciones en un bucle.“Link To Share” es tu plataforma de marketing integral para guiar a tu audiencia hacia todo lo que ofreces, fácil y profesionalmente. • Páginas de perfil (Bio) modernas y personalizables • Acorta enlaces con análisis avanzados • Genera códigos QR interactivos con tu marca • Aloja sitios estáticos y administra tu código • Herramientas web variadas para impulsar tu negocio -
loop.index0
: Similar aloop.index
, pero comienza desde cero, es decir, el primer elemento tiene un índice de 0. -
loop.first
: Una variable booleana que indica si la iteración actual es la primera en el ciclo. -
loop.last
: Una variable booleana que indica si la iteración actual es la última en el ciclo. -
loop.length
: La longitud total del ciclo, es decir, el número total de elementos en la iteración.
Filtros:
-
capitalize
: Convierte el primer carácter de una cadena en mayúscula y el resto en minúscula. -
upper
: Convierte toda la cadena en mayúsculas. -
lower
: Convierte toda la cadena en minúsculas. -
title
: Convierte la primera letra de cada palabra en mayúscula y el resto en minúscula. -
trim
: Elimina los espacios en blanco al principio y al final de una cadena. -
truncate
: Acorta una cadena a un cierto número de caracteres y agrega puntos suspensivos al final si se supera el límite. -
default
: Devuelve un valor predeterminado si el valor proporcionado esNone
o vacío. -
join
: Une una lista de cadenas usando un delimitador especificado. -
replace
: Reemplaza todas las ocurrencias de una subcadena con otra subcadena. -
round
: Redondea un número al entero más cercano o a un número específico de decimales. -
safe
: Marca una cadena como segura, evitando que Jinja la escape durante la representación. -
urlencode
: Codifica una cadena como un componente de URL. -
jsonify
: Convierte un objeto Python en una cadena JSON válida. -
slice
: Extrae una porción de una lista, tupla o cadena. -
random
: Devuelve un elemento aleatorio de una lista. -
sort
: Ordena una lista.
Estas variables y filtros proporcionan una amplia gama de funcionalidades para manipular datos y generar contenido dinámico en las plantillas Jinja. Su uso adecuado permite crear plantillas más flexibles y poderosas en aplicaciones web desarrolladas con Python.
Más Informaciones
Por supuesto, continuemos explorando más a fondo las variables y filtros disponibles en Jinja:
Variables:
-
loop.cycle
: Esta variable permite iterar sobre una secuencia de valores y alternar entre ellos en cada iteración. Es útil para aplicar estilos o clases de manera alternada en elementos de una lista. -
loop.revindex
: Proporciona el índice inverso del ciclo actual, es decir, el número de iteraciones restantes desde el final del ciclo. -
loop.revindex0
: Similar aloop.revindex
, pero comienza desde cero, siendo cero el último elemento del ciclo. -
loop.depth
: Indica la profundidad actual del ciclo anidado. Útil cuando se trabaja con estructuras de datos jerárquicas como listas de listas o diccionarios anidados. -
loop.depth0
: Similar aloop.depth
, pero comienza desde cero, donde cero indica que no hay ciclos anidados.
Filtros:
-
length
: Devuelve la longitud de una cadena, lista, diccionario o cualquier objeto iterable. -
filesizeformat
: Convierte un tamaño de archivo (en bytes) en una cadena legible para humanos, utilizando prefijos como KB, MB, GB, etc. -
int
: Convierte el valor dado en un entero. -
float
: Convierte el valor dado en un número de punto flotante. -
abs
: Devuelve el valor absoluto de un número. -
wordcount
: Cuenta el número de palabras en una cadena. -
capitalize
: Convierte la primera letra de cada palabra en mayúscula, ignorando otras letras. -
urlencode
: Codifica una cadena como un componente de URL, pero también reemplaza los espacios con «+» en lugar de «%20». -
join
: Une los elementos de una lista con el separador especificado. -
map
: Aplica una función a cada elemento de una lista y devuelve una lista de los resultados. -
reject
: Filtra los elementos de una lista basándose en una condición dada. -
select
: Filtra los elementos de una lista que cumplen una condición dada. -
tojson
: Convierte un objeto Python en una cadena JSON válida. -
escape
: Escapa caracteres especiales en una cadena para que pueda ser mostrada de manera segura en HTML. -
sort
: Ordena los elementos de una lista.
Estas variables y filtros adicionales amplían aún más las capacidades de Jinja al proporcionar herramientas para el manejo de datos más avanzado, manipulación de cadenas, conversión de tipos y generación de contenido dinámico de una manera más sofisticada. Con esta variedad de opciones, los desarrolladores tienen a su disposición un conjunto robusto de herramientas para crear plantillas altamente personalizadas y dinámicas en sus aplicaciones web Python.