I want breadcrumbs for navigating my Flask app. An option could be to use a general Python module like bread.py:
The bread object accepts a url string and grants access to the url
crumbs (parts) or url links (list of hrefs to each crumb) .
bread.py generates the breadcrumb from the url path, but I want the elements of the breadcrumb to be the title and link of the previously visited pages.
In Flask, maybe this can be done using a decorator or by extending the @route decorator.
Is there a way to have each call of a route() add the title and link of the page (defined in the function/class decorated with @route) to the breadcrumb? Are there other ways to do it? Any examples of breadcrumbs implemented for Flask?
So you’re after “path/history” breadcrumbs, rather than “location” breadcrumbs to use the terminology from the wikipedia article?
If you want to have access to the user’s history of visited links, then you’re going to have to save them in a session. I’ve had a go at creating a decorator to do this.
breadcrumb.py:And here’s a test application that demonstrates it. Note that I’ve just used Flask’s built-in client side session, you’d probably want to use a more secure server-side session in production, such as Flask-KVsession.
And here’s the contents of
templates/page.html: