Global variables
UL4 templates support global variables. To be able to pass parameters and global variables to an UL4 template a second set of methods is available, so that a list of positional arguments, a dictionary with keyword arguments and a dictionary with global variables can be passed.
These methods are render_with_globals()
,
renders_with_globals()
and
call_with_globals()
.
An example using renders_with_globals()
looks like this:
from ll import ul4c
t1 = ul4c.Template("<?print x?>")
t2 = ul4c.Template("<?render t1()?>")
output = t2.renders_with_globals((), {"t1": t1}, {"x": 42})
With this output
will be the string "42"
.
And an example using call_with_globals()
looks like this:
from ll import ul4c
t1 = ul4c.Template("<?return x?>")
t2 = ul4c.Template("<?return t1()?>")
result = t2.call_with_globals((), {"t1": t1}, {"x": 42})
With this result
will be 42
.