Improved the templated decorator in the documentation as recommended by Thadeus Burgess on the mailinglist

This commit is contained in:
Armin Ronacher 2010-08-13 23:37:57 +02:00
parent 6b5ba14521
commit a3f78af870

View file

@ -120,7 +120,9 @@ As you can see, if no template name is provided it will use the endpoint
of the URL map with dots converted to slashes + ``'.html'``. Otherwise
the provided template name is used. When the decorated function returns,
the dictionary returned is passed to the template rendering function. If
`None` is returned, an empty dictionary is assumed.
`None` is returned, an empty dictionary is assumed, if something else than
a dictionary is returned we return it from the function unchanged. That
way you can still use the redirect function or return simple strings.
Here the code for that decorator::
@ -138,6 +140,8 @@ Here the code for that decorator::
ctx = f(*args, **kwargs)
if ctx is None:
ctx = {}
elif not isinstance(ctx, dict):
return ctx
return render_template(template_name, **ctx)
return decorated_function
return decorator