Neal Becker wrote: > Can jinja templates contain arbitrary python code? > > In mako, I could do (for example): > -------- > from mako.template import Template > > mytemplate = Template(''' > <%! > from math import sin, pi > %> > hello ${name}! > ${x}**2 = ${x**2} > % for i in xrange (10): > w[${i}] = ${sin (pi/4*i)} > % endfor > ''') > d = {'name' : 'Neal', > 'x' : 10 > } > print mytemplate.render(**d) > -------- > > Could I do something similar in jinja? (import code, call arbitrary > functions...) >
I see this will work: from jinja2 import Template import math template = Template (''' print {{ w }} {% for x in range (10) %} # test print w[{{ x }}] print w[{{ x**2 }}] sin(pi/4*{{x}}) = {{math.sin(math.sin(math.pi/4*x))}} {% endfor %} ''') d = { 'w' : 'hello', 'math' : math, } t = template.render(d) -- http://mail.python.org/mailman/listinfo/python-list