Jinja

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 23 de noviembre de 2021; las comprobaciones requieren 2 ediciones .

Jinja (pronunciado jinja ) es un motor de plantillas para el lenguaje de programación Python . Es similar al motor de plantillas de Django , pero proporciona expresiones similares a las de Python, lo que permite que las plantillas se ejecuten en un espacio aislado . Es un motor de plantillas de texto, por lo que se puede utilizar para crear cualquier tipo de marcado, así como código fuente. Licenciado bajo la licencia BSD .

El motor de plantillas de Jinja le permite personalizar etiquetas [1] , filtros, pruebas y variables globales [2] . Además, a diferencia del motor de plantillas de Django, Jinja permite que el constructor de plantillas llame a funciones con argumentos sobre objetos.

Jinja, al igual que Smarty , también viene con un sistema de filtrado fácil de usar similar al pipeline de Unix .

Ejemplo

Un ejemplo de plantilla simple:

de jinja importar from_string tmpl = from_string ( ''' \ <html> <head><title>{{ variable|escape }}</title></head> <body> { % for item in item_list %} {{ item }}{ % i f not loop.last %},{ % e ndif %} { % e ndfor %} </body> </html>''' ) print ( tmpl . render ( variable = 'Valor con datos <inseguros>' , item_list = [ 1 , 2 , 3 , 4 , 5 , 6 ] ))

Resultado en HTML:

< html > < encabezado >< título > Valor con < inseguro > datos </ título ></ cabeza > < cuerpo > una, 2, 3, cuatro, 5, 6 </ cuerpo > </ html >

Aplicación

Además de los frameworks web ( Flask ), Jinja2 también se utiliza, por ejemplo, en el sistema de gestión de configuración SaltStack [3] y Ansible .

Notas

  1. Extensiones: documentación de Jinja2 2.7-dev (enlace descendente) . Consultado el 27 de enero de 2012. Archivado desde el original el 30 de septiembre de 2010. 
  2. Extensiones: documentación de Jinja2 2.7-dev (enlace descendente) . Consultado el 27 de enero de 2012. Archivado desde el original el 30 de septiembre de 2010. 
  3. Colton Myers. Capítulo 5. Expandiendo nuestros estados con Jinja2 y Pillar // Aprendiendo SaltStack. - Editorial Packt, 2015. - 174 p. - ISBN 978-1-78439-901-6 .

Literatura

  • Cunningham, K. Python en 24 horas, Sams Teach Yourself. - Pearson Educación, 2013. - 320 p. — ISBN 9780133354461 .

Enlaces