Originally posted as an answer to How can I become a web developer using Python on the back end?

I can’t give you a recommendation on a holistic class, but I can give you some recommendations on individual pieces/parts. First, I think that Django is a great framework for learning Python web programming. It has great documentation and support.

Working through the tutorial will give you a good understanding of what Django can do. Also, reading through the Django book will give you a good understanding of the additional features of Django.

My personal opinion is to start with a project in mind and start coding. PyCharm is a good editor and it is only $29 for students. It even gives you some good tools for CSS and HTML. Otherwise, PyDev is a pretty good Eclipse based editor.

The next steps are dependent on how interactive you want to make your web applications. If you don’t care about doing a lot of fancy AJAX stuff, then you can probably do a lot of what you want with CSS, HTML and Django. I worked through my first few applications without needing any JavaScript. You can build some great applications with Django without ever needing to touch JavaScript.

If you do want more dynamic applications, I would suggest working through some jQuery tutorials ((http://docs.jquery.com/Main_Page). Combining Django and jQuery is really simple. For the most part, the Django portions of my application really don’t affect the jQuery portions.

From my own experience, this worked out fairly well. I learned web development on my own outside of any class room setting. I started out working through the Django tutorials and books and did fine.

I am sorry if I didn’t give you a good, one-stop-shop for learning Python web development. In my experience, frontend development and backend development are orthogonal efforts. I generally do a few mockups using standalone HTML, CSS, and JavaScript. Once, I get the look and feel right, I convert that HTML over to a Django template.