Show all Flask Routes
One of my favorite things about rails is rake routes
. This command will show you all of the routes that your application is currently aware of. I was searching for something similar in Flask and came across this snippet. Sadly, it did not work for me. I am using Python 3, so that may have something to do with it. In any case, I did not have time to dig into what was wrong, because just the other day I read this amazing introduction to functional python where my biggest take away was that as soon as you see multiple for loops, its time to use map
. With my functional skills in tow, I wrote a simple one liner to print all of my routes.
@manager.command def routes(): import pprint pprint.pprint(list(map(lambda x: repr(x), app.url_map.iter_rules())))
[levlaz braindump]$ python3 manage.py routes ["<Rule '/auth/change-password' (GET, HEAD, OPTIONS, POST) -> " 'auth.change_password>', "<Rule '/auth/change-email' (GET, HEAD, OPTIONS, POST) -> " 'auth.change_email_request>', "<Rule '/auth/unconfirmed' (GET, HEAD, OPTIONS) -> auth.unconfirmed>", "<Rule '/auth/register' (GET, HEAD, OPTIONS, POST) -> auth.register>", "<Rule '/auth/confirm' (GET, HEAD, OPTIONS) -> auth.resend_confirmation>", "<Rule '/auth/logout' (GET, HEAD, OPTIONS) -> auth.logout>", "<Rule '/auth/login' (GET, HEAD, OPTIONS, POST) -> auth.login>", "<Rule '/auth/reset' (GET, HEAD, OPTIONS, POST) -> " 'auth.password_reset_request>', "<Rule '/empty-trash' (GET, HEAD, OPTIONS) -> main.empty_trash>", "<Rule '/notebooks' (GET, HEAD, OPTIONS, POST) -> main.notebooks>", "<Rule '/favorites' (GET, HEAD, OPTIONS) -> main.favorites>", "<Rule '/settings' (GET, HEAD, OPTIONS) -> main.settings>", "<Rule '/shutdown' (GET, HEAD, OPTIONS) -> main.server_shutdown>", "<Rule '/archive' (GET, HEAD, OPTIONS) -> main.view_archive>", "<Rule '/search' (GET, HEAD, OPTIONS) -> main.search>", "<Rule '/trash' (GET, HEAD, OPTIONS) -> main.trash>", "<Rule '/add' (GET, HEAD, OPTIONS, POST) -> main.add>", "<Rule '/' (GET, HEAD, OPTIONS, POST) -> main.index>", "<Rule '/static/bootstrap/<filename>' (GET, HEAD, OPTIONS) -> " 'bootstrap.static>', "<Rule '/auth/change-email/<token>' (GET, HEAD, OPTIONS) -> " 'auth.change_email>', "<Rule '/auth/confirm/<token>' (GET, HEAD, OPTIONS) -> auth.confirm>", "<Rule '/auth/reset/<token>' (GET, HEAD, OPTIONS, POST) -> " 'auth.password_reset>', "<Rule '/delete-forever/<id>' (GET, HEAD, OPTIONS, POST) -> " 'main.delete_forever>', "<Rule '/notebook/<id>' (GET, HEAD, OPTIONS) -> main.notebook>", "<Rule '/notebook/<id>' (DELETE, OPTIONS) -> main.delete_notebook>", "<Rule '/favorite/<id>' (GET, HEAD, OPTIONS, POST) -> main.favorite>", "<Rule '/restore/<id>' (GET, HEAD, OPTIONS, POST) -> main.restore>", "<Rule '/archive/<id>' (GET, HEAD, OPTIONS) -> main.archive>", "<Rule '/delete/<id>' (GET, HEAD, OPTIONS, POST) -> main.delete>", "<Rule '/static/<filename>' (GET, HEAD, OPTIONS) -> static>", "<Rule '/share/<id>' (GET, HEAD, OPTIONS, POST) -> main.share>", "<Rule '/note/<id>' (GET, HEAD, OPTIONS) -> main.note>", "<Rule '/edit/<id>' (PUT, OPTIONS) -> main.edit>", "<Rule '/tag/<name>' (GET, HEAD, OPTIONS) -> main.tag>"]
Thank you for reading! Share your thoughts with me on bluesky, mastodon, or via email.
Check out some more stuff to read down below.
Most popular posts this month
- 2024
- Reinstalling Windows at 1am
- SQLite DB Migrations with PRAGMA user_version
- My Custom Miniflux CSS Theme
- How to Disable Wayland in Debian Testing
Recent Favorite Blog Posts
This is a collection of the last 8 posts that I bookmarked.
- Underused Techniques for Effective Emails from Refactoring English
- Death by a thousand slops from daniel.haxx.se
- The AGI economy is coming faster than you think from Freethink
- Rolling the ladder up behind us from Xe Iaso's blog
- In Praise of “Normal” Engineers from charity.wtf
- Reports of Bluesky's death have been greatly exaggerated from The Torment Nexus
- What Would a Kubernetes 2.0 Look Like from matduggan.com
- We Can Just Measure Things from Armin Ronacher's Thoughts and Writings
Articles from blogs I follow around the net
Occupation and Preoccupation
Here’s Jony Ive in his Stripe interview: What we make stands testament to who we are. What we make describes our values. It describes our preoccupations. It describes beautiful succinctly our preoccupation. I’d never really noticed the connection between th…
via Jim Nielsen’s Blog July 17, 2025What do we do when the facts don't matter?
As a journalist by training, I have what you might call an addiction to facts. I believe that there are things that are true and things that are not, and that we can determine one from the other through observation, rational thought, and meticulous resear…
via The Torment Nexus July 17, 2025Back to the Future
This past weekend, I decided to take a trip down memory lane and take a look at the evolution of this blog’s design over the years (with a little help from the Wayback Machine). While I’ve really enjoyed the challenge of making an obsessively backwards co…
via flower.codes July 17, 2025Generated by openring