def reverse_url(context, name, **parts):
"""
jinja2 filter for generating urls,
see http://aiohttp.readthedocs.io/en/stable/web.html#reverse-url-constructing-using-named-resources
Usage:
{%- raw %}
{{ 'the-view-name'|url }} might become "/path/to/view"
or with parts and a query
{{ 'item-details'|url(id=123, query={'active': 'true'}) }} might become "/items/1?active=true
{%- endraw %}
see app/templates.index.jinja for usage.
:param context: see http://jinja.pocoo.org/docs/dev/api/#jinja2.contextfilter
:param name: the name of the route
:param parts: url parts to be passed to route.url(), if parts includes "query" it's removed and passed seperately
:return: url as generated by app.route[<name>].url(parts=parts, query=query)
"""
app = context['app']
kwargs = {}
if 'query' in parts:
kwargs['query'] = parts.pop('query')
if parts:
kwargs['parts'] = parts
return app.router[name].url(**kwargs)
评论列表
文章目录