Flask or Django? Which one to learn in 2016?
It depends on what type of project you want to work on.
To put it very briefly, Django has far more features and is set up to do a great deal more out of the box. Flask is more simple, but very extensible if you use the right packages.
Personally I prefer working with Flask because my projects are usually REST API backends. My frontends are usually made in Node. But if you're doing full websites, and want it all in Python, then you'd prefer Django.
You should learn them both. Each technology is a tool. Every tool does a job and some tools do some jobs better than others.
Django is a very productive framework. It's a complete platform out-of-the-box and has an abundant ecosystem of libraries and frameworks that run on top of it (CMS, ecomm, REST, etc.).
Flask is a small core of a framework: the nuts-and-bolts of web development. It's less prescriptive than Django, which means you bring your own set of complimentary tools (persistence/ORMs, template languages, etc.).
Learning both and evaluating them in the context of your personal development approach, projects, and teams will let you make an informed decision about when to employ one or the other.
As people have said before, it all depends on what you want to do. Django is a fully featured web framework with everything you'd want and a kitchen sink. Flask, on the other hand, is a lot more like legos.
A simple example would be ORMs. Django comes with its own ORM which is its own beast. With Flask, you have the choice to either use an external ORM like SQLAlchemy or just use plain SQL directly from your app.
Now coming to what you should learn. That again depends on you. If building websites and prototyping ideas fast manner is what you need then I'd suggest Django since it provides you with all the tools and parts required to build a web app. On the other hand, if you want to understand the different parts which make up a web app, then Flask would be the way to go.
Dong Nguyen
Web Developer
They are different. Flask is used for RESTful oriented apps. Django provides a MVC achitecture with it you build the whole website.