Before that, you should know the main difference between Flask and Django. Both are famous in Python arena. But they have different necessity and outlook.

  • Flask is a microframework. The “micro” in microframework means Flask aims to keep the core simple but extensible. Flask won’t make many decisions for you, such as what database to use.
  • Django comes with batteries-included. Django takes care of much of the hassle of Web development, so you can focus on writing your app without needing to reinvent the wheel.

Project like Instagram needs a lot of features, surely. You can go with Flask but there you have to extend it with many extensions and third-party modules. But Django gives you everything in one package. Django includes dozens of extras you can use to handle common Web development tasks. Django takes care of user authentication, content administration, site maps, RSS feeds, and many more tasks — right out of the box. Besides, Django has more third-party packages than Flask. That’s the power I think.

If you are in a big project, you will try to take less hassle. So, I think if Instagram would start today, they will choose Django.

But still there is a opportunity of choosing Flask. Actually these types of decisions are taken by CTO. If the CTO of Instagram would be a Flask geek/lover, s/he might choose Flask.

Jokes: If I would their CTO, I would choose Flask as I love it a lot. You know, love is greater than benefits.