Link to a specific location in a Flask template
In HTML I can link directly to a specific location on a page, assuming there's an element with the given id:
<a href="http://www.example.com/stuff.html#exactlocation">Go there</a>
In Flask I tried to add the anchor to render_template
but I get jinja2.exceptions.TemplateNotFound: stuff.html#exactlocation
.
@main.route('/exactlocation')
def exactlocation():
return render_template('stuff.html#exactlocation')
How do I link to a specific location in a template?
Solution 1:
Thanks to dirn's comments I managed to get this working with the code below.
Pass the _anchor
keyword to url_for
to append an anchor to the generated URL.
nav menu:
<a href="{{ url_for('.stuff', _anchor='exactlocation') }}">Go to specific id on suff page</a>
Flask route:
@main.route('/')
def stuff():
return render_template('stuff.html')
stuff.html
:
...
<section id="exactlocation">
...