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
- SQLite DB Migrations with PRAGMA user_version
- My Custom Miniflux CSS Theme
- Setting up ANTLR4 on Windows
- Using cgit
- Convert Markdown to PDF in Sublime Text
Recent Favorite Blog Posts
This is a collection of the last 8 posts that I bookmarked.
- Rewrote my blog with Zine from Drew DeVault's blog
- A eulogy for Vim from Drew DeVault's blog
- Pluralistic: AI "journalists" prove that media bosses don't give a shit (11 Mar 2026) from Pluralistic: Daily links from Cory Doctorow
- Avi Alkalay: Uniqlo T-Shirt Bash Script Easter Egg from Fedora People
- Offline 23 hours a day from Derek Sivers blog
- Pluralistic: California can stop Larry Ellison from buying Warners (28 Feb 2026) from Pluralistic: Daily links from Cory Doctorow
- On Alliances from Smashing Frames
- Acting ethically in an imperfect world from Smashing Frames
Articles from blogs I follow around the net
“The system is so twisted that even Apple itself begs for these reviews from its own apps.”
A good post by John Gruber on Daring Fireball investigating why apps pester you with the annoying “enjoying this app?” windows and attendant semi-shady practices (choose 5 stars and you get sent to App Store, but choose anything less, and your review will...
via Unsung April 20, 2026Issue 104 – World Tyranny Financial
As the Trump family’s crypto dealings raise more alarms, crypto enforcement is falling to new lows
via Citation Needed April 20, 2026Thank You For Being a Friend
It's been one of those months, and by that, I mean one of the 663 months since I was born. This won't be a long post, because I only have two things to say. First, I'm really glad we re-ordered the GMI (Guaranteed Minimum
via Coding Horror April 20, 2026Generated by openring