Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

For people starting with Web Framework or new to Python, I would suggest starting with a lightweight framework, such as Flask or Pylons.

I used to struggle with Django, so I started to look into Flask, and I really feel like I finally understood what I was doing.

Flask tuto : http://flask.pocoo.org/



I agree, being new to web development a few years ago I struggled along with Django for a bit before trying Flask, which is a fantastic framework. It's easy to keep the entire thing in your head while coding. Today I've moved on from Flask to Django, because as my web apps began to grow I ended up writing features that Django gives out of the box, but I still value Flask hugely. I will probably use it in the future, for small web apps here and there.


Don't you feel you wasted your time learning flask and django, when you could have just learned django?


I'm interested in a response here as well. I know a tiny amout of Flask and am disputing moving to Django.


Why is the time wasted if you move on to Django? I'm sure the time won't be going to waste as you will become a better developer having been exposed to both.

The decision which to learn should be based on what your overall goals are. I am myself starting to learn python and will be moving towards learning Django. I don't see Django as the final solution to everything but its a solid start to being exposed to python and its web frameworks.

I have looked at Flask and Pyramid. Both seem quite good but at this moment I'm looking at learning a framework that will do a lot of heavy lifting for me. Django will do that better. Likely in about a year or more, I will be in a position to decide for myself based on my own experience whether getting into Flask or Pyramid would be a better idea for my projects.

Personally, I'd rather go to a restaurant and see the full buffet and sample the food that way (ie. Django) versus go in and pick niche items of the menu (ie. Flask).


I'm in the same position as the parent (grandparent?). I went through a bunch of django tutorials but felt that too much of it was "magic", so while everything worked out pretty well, I was never really sure why. I'm currently learning flask now because it still seems really easy while being more straightforward. I think that once I have actually written some stuff from scratch, I'll understand and appreciate a lot more of what is happening behind the scenes with django more.


learning is never a waste of time. even things that seem redundant are not really. seeing the same problem solved two different ways can offer a lot of insight into the nature of the problem and the trade offs of each solution.


Would you have the same suggestion for seasoned web developers in other languages, but who are still new to Python?

I'm curious as I'm really looking to learn Python and was looking at Django for the web side of things.


Flask is inherently simpler/smaller than Django. For doing simple/small web sites its a naturally good fit. However, due to its simplicity it needs to be significantly augmented if you intend to build a more complex web app with it.

Augmenting Flask with a data persistence layer, a RESTful API system, a more robust templating system, and any of the other infrastructure tools you'll need (user auth, session management, xss protection, input cleaning/validation, etc.) is quite complicated. If you go through those steps you'll basically just end up with something like what Django gives you right out of the box. Except that Django's components are well integrated with each other and fully tested, and your custom built system won't be.


Well, Python is quick to learn. So my advice would be first a focus on the Python langage. After, it would depend : If you have great experience in MVC framework and you need it for a seasoned job, I think you could start with Django. Flask is a just an easier (cooler !) way to learn framework with python.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: