5.3.8.6 pagesize="..." attribute

###
5.3.8.6 `pagesize="..."` attribute

This attribute is used to present a sequence of data one page at a time. The attribute value must be an integer that specifies the number of items to display in each page.

Use of the `pagesize` attribute places the sequence iterator into page mode and limits the number of elements that will be displayed.

For example:

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

Pagination support requires that session support be present in the execution context. All of the Albatross application objects provide session capable execution contexts by default. The `SimpleContext` class does not support sessions so it is necessary to augment the class for the above example. Note also that when the `<al-for>` tag processes the `pagesize` attribute it places the sequence iterator into the session.