If you're testing out a new idea or getting a product going, you have to choose a web stack to build it on. For Python devs, Flask and Django are the two most popular web framework options. I have experience with both and have chosen one or the other for my myriad of projects and companies. My current product, WakaTime is built with Flask and this choice has helped us achieve our goals of building an API heavy product which enables 27,000+ developers to use and extend.
Having experienced the benefits of choosing the right framework, I created a worksheet to help other devs decide. You can go through it and get a "result" of the best framework to use.
Additionally, if you are interested, here are some comparison points for both Django and Flask.
Differences between Django and Flask
- Born in 2005
- Larger community
- 13,820 stars
- 607 watchers
- Born in 2010
- Newer, active community
- 13,489 stars
- 1,036 watchers
Many companies use Django and Flask because they save time building the product in the beginning and can scale to handle millions of users as their webites grow.
Flask serves JSON responses slightly faster than Django.
However, they are both insignificant when compared to frameworks in other languages. The reason to use Django or Flask is to increase dev performance, build faster, and have a "fast enough" framework.
In conclusion, the reason to use Django or Flask is to save dev time and build faster. You should use your best judgment and this worksheet when deciding which framework is best suited for your use case.
I would also be happy to chat and help you decide between Django or Flask. Just leave a comment here with your question or jump on the #wakatime channel on irc.freenode.net.
P.S. Pirates use Flask, the Navy uses Django. WakaTime is a pirate ;)
Update: Emilien Klein found an interesting open-source comparison of Flask and Django.