5.3.7.7 prepare attribute

This attribute allows you to place pagination controls before the formatted sequence content.

When the prepare attribute is present the <al-for> tag will perform all processing but will not write any output. This allows you to test pagination results before presenting output.

For example:

>>> import albatross
>>> class Ctx(albatross.SimpleContext, albatross.HiddenFieldSessionMixin):
...     def __init__(self):
...         albatross.SimpleContext.__init__(self, '.')
...         albatross.HiddenFieldSessionMixin.__init__(self)
... 
>>> ctx = Ctx()
>>> albatross.Template(ctx, '<magic>', '''
... <al-for iter="i" expr="range(500)" pagesize="20" prepare/>
... <al-if expr="i.has_prevpage()"> prev</al-if>
... <al-if expr="i.has_nextpage()"> next</al-if>
... <al-for iter="i" pagesize="20" whitespace="indent">
...  <al-value expr="i.value()">
... </al-for whitespace>
... ''').to_html(ctx)
>>> ctx.flush_content()
 next 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

Note the XML empty tag syntax on the <al-for prepare> tag.