Browse Source

Document context processors' variable functions

pull/394/head
Priit Laes 13 years ago
parent
commit
d33f9990c8
  1. 19
      docs/templating.rst

19
docs/templating.rst

@ -186,3 +186,22 @@ The context processor above makes a variable called `user` available in
the template with the value of `g.user`. This example is not very
interesting because `g` is available in templates anyways, but it gives an
idea how this works.
It is also possible to inject functions that can have any number of
arguments::
@app.context_processor
def price_formatter():
def loader(amount, currency=u'€'):
return u'{0:.2f}{1}.format(amount, currency)
return dict(format_price=loader)
The above construct registers a "variable" function called
`format_price` which can then be used in template::
{{ format_price(0.33) }}
The difference from regular context processor' variables is that functions
are evaluated upon template rendering compared to variables whose values
are created during `app` startup . Therefore "variable" functions make it
possible to inject dynamic data into templates.

Loading…
Cancel
Save