views:

111

answers:

5

I'm really interested in learning Python for web development. Can anyone point me in the right direction? I've been looking at stuff on Google, but haven't really found anything that shows proper documentation and how to get started. Any recommended frameworks? Tutorials?

I've been doing PHP for 5 years now, so I just want to try something new.

+4  A: 

Django is probably the best starting point. It's got great documentation and an easy tutorial (at http://djangoproject.com/) and a free online book too (http://www.djangobook.com/).

Anthony Briggs
This may be pushing it, but does Google App Engine support django?
Raphael Caixeta
django isn't my favorite for production, but it has all the major components that you'll need to become familiar with, and an amazing wealth of great tutorials.
colinmarc
App Engine supports Django.
N 1.1
Yes, App Engine supports Django 0.96, 1.0, and 1.1 at this time: http://code.google.com/appengine/docs/python/tools/libraries.html#Django
wescpy
A: 

WSGI

Matt Joiner
A: 

Although I've never tried it myself, I've heard very good things about pylons. There's also a free online book.

falcon
A: 

There are three major parts to python web frameworks, in my experience. From the front to back:

Views/Templates: Application frameworks don't function as independent scripts - instead, you map paths to python functions or objects which return html. To generate the html you probably need templates (aka views). Check out Cheetah.

Application framework/Server: There are plenty. CherryPy is my favorite, and is good for understanding how a python application server works because a) it's simple and b) unlike django and others, it is just the application server and doesn't include a templating engine or a database abstraction layer.

Database layer: I've actually never used it, but everyone seems to like SQLAlchemy. I prefer, in simple applications, executing SQL directly using a tool like psycopg2 (for postgres).

colinmarc
A: 

You can try Django. It's easy to learn, and it works with GAE (though the default version is 0.96, a little bit old, but you can change it). And there's a video about rapid development (by Guido Van Rossum) that goes through the basics of setting up a Django project in App Engine.

Pablo Alejandro Costesich
GAE support for Django is a bit outdated but not *that* bad. It can run 0.96, 1.0, and 1.1, but not 1.2 yet. See http://code.google.com/appengine/docs/python/tools/libraries.html#Django
wescpy