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.
- 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
- The Gentle Singularity from Sam Altman
- Whale Watching from https://popagandhi.com/
Articles from blogs I follow around the net
How Many Mildliner Colours Are There Now?
I made a mildliner reference site to keep track of all the colours
via Robb Knight • Posts • Atom Feed June 27, 2025Resupply stablecoin lender exploited for $9.3 million
An attacker was able to exploit a vulnerability in a smart contract used by the Resupply stablecoin lender to extract about $9.3 million from the project. After depositing around $200,000, they were able to inflate the price of anoth…
via Web3 is Going Just Great June 27, 2025Self-driving is finally happening
I still remember how the car industry got all excited back in 2017 about how steering wheels would soon be obsolete. Every concept car then was a living room on wheels, seats facing inwards. The self-driving revolution was imminent, they said. Well, it …
via David Heinemeier Hansson June 27, 2025Generated by openring