Flask is good, but Django comes with many more batteries included, which all major websites need.
Flask is good, but Django comes with many more batteries included, which all major websites need.
Just curious, what batteries in Django make it preferable to you over Flask+SQLAlchemy+Jinja2?
But it's a pretty great change as there are legitimate times that Jinja2 is worth using over the Django system.
Also I found SQLAlchemy tooo complicated. Too much to learn there. It might be really cool for edge cases, but I'm happy using raw SQL when/if the Django ORM (ever) falls short of my needs.
Also performance benchmarks seem to suggest that Django is faster than Flask. This was a surprise to me. As in, it seems as if Flask is leaner so would be faster, but Django performs better than flask. Also, I kinda like the Django community more.
rest api's (no out of the box support but plenty of documentation to make your own or just go with Django-rest-framework)
Built in administration system/back end.
easy cache plugins, middleware extensions,
GIS support with Geo-Django
Still probably think Flask is worth learning first though as it gets you closer to the Python core and hoping if I switch back to Django the transition will be easy enough.
I couldn't agree more on SQLAlchemy, though. Django's orm is nasty perf-wise and if you want to do anything low level, but API-wise it's really great. But SQLAlchemy felt like learning something even more complex than SQL itself... It's weird this isn't a solved problem.
Django 1.7 was just huge; this is more in line with the changes in 1.5 and 1.6.
1.8 has public Meta, multiple template engines, contrib.postgres, and query expressions (my pet). Again, most other features were smaller nice to haves.
I'd say the features of both are relatively on-par. Migrations probably give a false sense of scale just because that one feature was so big.
As for the "new normal" comment, I agree with you. I'm not sure there are many big bang features ready to go or that have been proposed. I think 1.9 will see lots of incremental improvements and bug fixes.