This tag allows you to place arbitrary Python code (excluding
""") in a template file. The expression is specified in the
expr attribute. The expression is compiled using
kind = 'exec'
.
For example:
>>> import albatross >>> ctx = albatross.SimpleContext('.') >>> albatross.Template(ctx, '<magic>', ''' ... <al-exec expr=" ... results = [] ... for n in range(2, 10): ... for x in range(2, n): ... if n % x == 0: ... results.append('%d equals %d * %d' % (n, x, n/x)) ... break ... else: ... results.append('%d is a prime number' % n) ... "> ... <al-for iter="l" expr="results"> ... <al-value expr="l.value()" whitespace> ... </al-for> ... ''').to_html(ctx) >>> ctx.flush_content() 2 is a prime number 3 is a prime number 4 equals 2 * 2 5 is a prime number 6 equals 2 * 3 7 is a prime number 8 equals 2 * 4 9 equals 3 * 3