Depends on what you're doing. For API stuff, my team's had great luck with Flask + Flask-RESTful:
- We prefer SQLAlchemy to Django's ORM.
- We don't need any templating since we're always returning JSON.
- Django is more of a framework: you plug your code into the appropriate spots. Flask is more of an API: you call it from your own code.
- Django is brilliant... up until the point you want to do something non-Django-y and have to work around a few layers of magic.
I have nothing bad to say about Django and happily use it where it's appropriate. It's not one-size-fits-all, though, and in my experience there are better solutions to some non-HTML-web stuff.
I wanted to try Flask but it didn't have Python3 support when I looked into it.
Django+Django Rest Framework are awesome. We do actually use templates for some emails so it's one of the times where it's nice that the template system was ready to go even though the rest of the site is just json.
Some practical improvements in the 3.x line came from the heavy but constructive criticism that Armin Ronacher gave while ensuring that Flask supported Python 3.
- We prefer SQLAlchemy to Django's ORM. - We don't need any templating since we're always returning JSON. - Django is more of a framework: you plug your code into the appropriate spots. Flask is more of an API: you call it from your own code. - Django is brilliant... up until the point you want to do something non-Django-y and have to work around a few layers of magic.
I have nothing bad to say about Django and happily use it where it's appropriate. It's not one-size-fits-all, though, and in my experience there are better solutions to some non-HTML-web stuff.