Hacker News new | ask | show | jobs
by asreal 5379 days ago
I've looked at flask briefly, but it strikes me that a bare-bones django project is every bit as lightweight as a bare-bones flask project(i.e. use what you need). That said, if a flask project grows beyond a trivial app, don't you necessarily need to rebuild(or seek out) much of the great functionality that django already provides?
2 comments

I find the same thing with Django, btw. Once a project grows beyond a (slightly less) trivial app, that is, at some point your project is going to want to do something difficult and/or unique, you wander outside of the wonderful things that Django provides, and you find yourself needing to build or seek out complex functionality by hand again, and sometimes having Django work against you.

At least, that's my experience.

So next time, for a not-too-large scale project, I will indeed try a more barebones framework such as Flask, to see if it matters much.

Django does get you off to a running start, but as soon as you want something it can't do, you find yourself clawing through its entrails again.

Yes, that's the idea. Flask itself provides core functionality and if you need database access, authentication, authorization, OAuth, OpenID or whatever else you might need you use an extension which provides that.

The great thing about extensions is that Flask has the concept of approved extensions, these have been reviewed by Flask developers and have to follow certain guide lines[1].

Django gives you more features, Flask is more flexible. Both have their up- and downsides so it comes down to personal preference which you choose.

[1]: http://flask.pocoo.org/docs/extensiondev/#approved-extension...