Start with Django unless you have a very good reason to use one of the other ones. Very good reasons include 1.) Previous skills with Mako, SQLAlchemy, Paste, or any of the other libraries that Pylons or Turbogears is based upon. 2.) Previous code in one of the above libraries 3.) Functionality needs that Django cannot satisfy in at least a couple of the following areas: authentication, user models, multiple database…
I've used Pylons, but not Django. Why is Django a better choice?
Ask HN: Choosing a Python framework for web development?
11–20 of 41 posts
Re: Ask HN: Choosing a Python framework for web development?
#12Start with Django unless you have a very good reason to use one of the other ones. Very good reasons include 1.) Previous skills with Mako, SQLAlchemy, Paste, or any of the other libraries that Pylons or Turbogears is based upon. 2.) Previous code in one of the above libraries 3.) Functionality needs that Django cannot satisfy in at least a couple of the following areas: authentication, user models, multiple database…
Biggest annoyance for me so far with Django is it not following the MVC model I would have expected from it going in. We'll see how it works out for one of our newer/silly sites, though. I forgot to check out Pylons for the project one of our contractors is working on. Thanks for mentioning it, we might consider it if Django continues to be cumbersome.
Re: Ask HN: Choosing a Python framework for web development?
#13Start with Django unless you have a very good reason to use one of the other ones. Very good reasons include 1.) Previous skills with Mako, SQLAlchemy, Paste, or any of the other libraries that Pylons or Turbogears is based upon. 2.) Previous code in one of the above libraries 3.) Functionality needs that Django cannot satisfy in at least a couple of the following areas: authentication, user models, multiple database…
I've used Pylons, but not Django. Why is Django a better choice?
http://code.djangoproject.com/wiki/DjangoResources#Djangoapp...
Some other things I liked about it: I thought that Django views were conceptually cleaner than Pylons controllers, with fewer global variables needed. I thought the templating language looked cleaner than Mako as well, though less powerful. The admin app saves me lots of time for mundane tasks that I'd probably just forgo otherwise. I could get used to the ORM - don't particularly like it, but as ORMs go, it's quite nice. I really like that it comes with authentication, sessions & user models built-in. I liked that it was well-documented.
Some things I thought Pylons did better: I think Pylons packaging & deployment is much more mature, built on setuptools, Paste, and eggs. I like that I don't have to use an ORM, and that it's loosely coupled in general. I like how Mako lets me define template functions directly in the template.
Also, Guido blessed Django as "the" Python web framework at SciPy 2006. So far, the rest of the world has basically ignored that pronouncement, and I haven't really heard anything further about it. But I thought that it was generally more prudent to be on the same wavelength as the BDFL.
Re: Ask HN: Choosing a Python framework for web development?
#14Start with Django unless you have a very good reason to use one of the other ones. Very good reasons include 1.) Previous skills with Mako, SQLAlchemy, Paste, or any of the other libraries that Pylons or Turbogears is based upon. 2.) Previous code in one of the above libraries 3.) Functionality needs that Django cannot satisfy in at least a couple of the following areas: authentication, user models, multiple database…
Alright, thank you. I guess exactly what I was looking for. Couple of other questions that just popped up while reading your (thoughtful)reply a)- How much is the learning curve--considering my skill-set? From what I can tell from their website, I guess decent amount of documentation is available so I hope I won't get stuck. b)-My only fear is the lack of JavaScript(Ajax) skills. For that reason alone, I was interest…
Re: Ask HN: Choosing a Python framework for web development?
#15Start with Django unless you have a very good reason to use one of the other ones. Very good reasons include 1.) Previous skills with Mako, SQLAlchemy, Paste, or any of the other libraries that Pylons or Turbogears is based upon. 2.) Previous code in one of the above libraries 3.) Functionality needs that Django cannot satisfy in at least a couple of the following areas: authentication, user models, multiple database…
Biggest annoyance for me so far with Django is it not following the MVC model I would have expected from it going in. We'll see how it works out for one of our newer/silly sites, though. I forgot to check out Pylons for the project one of our contractors is working on. Thanks for mentioning it, we might consider it if Django continues to be cumbersome.
Re: Ask HN: Choosing a Python framework for web development?
#16I prefer Pylons for many reasons. One of them is that SQLAlchemy is the single most powerful SQL library I've ever used, and Pylons makes it easy to use SQLAlchemy, while Django doesn't. This is just one example of Django's reluctance to use superior outside solutions.
Re: Ask HN: Choosing a Python framework for web development?
#17I prefer Pylons for many reasons. One of them is that SQLAlchemy is the single most powerful SQL library I've ever used, and Pylons makes it easy to use SQLAlchemy, while Django doesn't. This is just one example of Django's reluctance to use superior outside solutions.
Re: Ask HN: Choosing a Python framework for web development?
#18Also, if you're not married to Python, and are looking for something really simple and easy to learn, you might try Perl's CGI::Application (along with some plug-ins).
Re: Ask HN: Choosing a Python framework for web development?
#19Re: Ask HN: Choosing a Python framework for web development?
#20Take a look at the HTTP protocol, and learn what it does before you start diving in to web frameworks. You'll understand what's going on inside the framework before you get started.
After looking at HTTP, try some basic CGI programming. Just google: Python CGI Tutorial. CGI is a bit archaic, but it helps to understand why frameworks developed, and what they're making easier.
Pick up MySQL or PostGress and learn some SQL and databases first. Web frameworks are essentially an "easy" way to develop a GUI for a database. If you don't know what the database is, or what it's doing, you'll be chasing your tail learning a framework first.
It's worth mucking around with some *nix and apache. You don't really have to do this first, but you're not going to be able to do too much with your web app, because I don't know of too many companies that serve Django apps off of Windows. It's all Linux or BSD hosting for Django pretty much. That means knowing at least the basics of shell scripting and apache config files.