I have a jinja2 template which I reuse for different Flask routes. All of these routes have a single required parameter and handle only GET
requests, but some routes may have extra arguments.
Is there a way to append extra arguments onto url_for()
?
Something like
url_for(my_custom_url, oid=oid, args=extra_args)
which will render to (depending on the route endpoint):
# route 'doit/<oid>' with arguments
doit/123?name=bob&age=45
# route 'other/<oid>' without arguments
other/123
My use case would be to provide links with predefined query arguments:
<a href=" {{ url_for('doit', oid=oid, args=extra_args }} ">A specific query</a>
<a href=" {{ url_for('other', oid=oid) }} ">A generic query</a>
I would like to run this template without JavaScript, so I would not like to assign a click listener and use AJAX to do a GET
request for each link if that is possible.