4 ms·
I've built things with each, so I'm pretty opinionated on the subject. My verdict: Start with Django; use Flask once you hit 10M+ users. • Django -- Sensible
by mkolodny 12y ago
I've built things with each, so I'm pretty opinionated on the subject.
My verdict: Start with Django; use Flask once you hit 10M+ users.
• Django -- Sensible defaults. A plugin for most things you may need. Fairly high learning curve, but worth it. I've heard people at big startups say that they've spent weeks building things with Flask that were either built-in, or came as a pluggable app for Django. Pinterest still uses Django for their middleware, but switched over to Flask for their API [1].
• Flask -- Low learning curve. Very lightweight. The go-to ORM is SQLAlchemy, which is more fully featured, but has a higher learning curve, and is generally less-liked than the Django ORM. Great for hackathons.
• Pyramid -- Extremely configurable. You get to (have to) make a lot of low-level decisions. Serious lack of sensible defaults. Strong community. The IRC channel is helpful, yet time is spent discussing why Pyramid isn't more popular (lack of sensible defaults).
[1] http://www.quora.com/Pinterest/Would-Pinterest-consider-Flask-in-place-of-Django-if-it-were-starting-today?share=1 http://www.quora.com/Pinterest/Would-Pinterest-consider-Flas...
- raverbashing 12y ago"Fairly high learning curve, but worth it" Exactly. Apart from the tutorial there's not much of "a way" of progressing forward (like "learn this now"). Except South/Migration. Learn this. There are a lot of resources but it follows the Pareto rule, depending on what you need you may need to go learn Localization/Middleware/Advanced ORM queries/Advanced template tags and filters/Details of Requests and Responses/Advanced forms or models (yeah, Django really doesn't help with CSSing your forms)/etc
- Veratyr 12y agoI'd hold off on South now that Django has its own migrations. They're going to be the method of choice moving forward as far as I know.
- raverbashing 12y agoYes, that's why I said South (for older versions) or Migration (for newer versions) They're very similar, so learning South won't be detrimental (and it is useful from the moment you learn it)
- yoloswagins 12y agoHas someone created a hackathon starter app for flask?
- ryan_sb 12y agoIt's not targeted specifically for hackathons, but cookiecutter-flask[1] is a skeleton project for the cookiecutter[2] project creator. [1]: https://github.com/sloria/cookiecutter-flask https://github.com/sloria/cookiecutter-flask [2]: https://github.com/audreyr/cookiecutter https://github.com/audreyr/cookiecutter
- jefurii 12y agoOn the cookiecutter project page ([2]) there are links to cookiecutters for a bunch of other frameworks/toolsets.