ejemplo de plantillas

Arnau Sanchez pyarnau en gmail.com
Lun Mayo 26 22:46:16 CEST 2008


Chema Cortes escribió:

> No he seguido la anterior conversación, pero te puedo sugerir usar
> algo tan simple como el operador de formato '%'. Toda la "plantilla"
> la expresas como una cadena multilínea (las que empiezan y acaban por
> triple comillas), e introduce en ella las variables de sustitución que
> desees mediante el indicativo %s.

En realidad le recomendé plantillas no porque tuviera variables a interpolar 
(aunque alguna tendrá), sino porque necesita una cierta lógica en la 
presentación (condicionales y bucles), ¿qué le recomendarías?

Yo tras buscar un poco optaría por algo sencillo como Preppy o Tempita. Un 
ejemplo de la pinta que tendría con Tempita:

#http://pythonpaste.org/tempita/

import tempita

template = """
Hello {{name}}:
{{if name == "Bob"}}
Nice to meet you, Bob.
{{else}}
Who are you?
{{endif}}

{{for x in range(10)}}
     Hello {{name}} ({{x}})
{{endfor}}
"""

tmpl = tempita.Template(template)
namespace = dict(name="Bob")
print tmpl.substitute(namespace)

Por aclararlo un poco, Pablo, lo que en el ejemplo está en la variable 
"template" lo pondrías en un fichero aparte, que luego leerías:

tmpl = tempita.Template(open("example.tempita").read())
namespace = dict(name="Bob")
print tmpl.substitute(namespace)
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





Más información sobre la lista de distribución Python-es