I'm in the same situation. I've never really written a DB-backed web-based application, so I'm starting down that road. Been working mostly on C++ distributed multi-threaded servers with lots of asynchronous network communication.
I'm a big Perl fan and am comfortable with its object-oriented model so I've chosen to use it. Here's the environment/tools I've settled on so far: Apache on Linux (primary platform, might try to make sure works on Windows too); mod_perl 2 in Apache pre-fork; PostgreSQL 8.x for back-end; Rose::DB for DB persistence layer (apparently easy-to-use ORM, allows many-to-many relations unlike various other Perl-based DB layers); Template-Toolkit 2 for web template environment; going to layer on JavaScript later ... not sure which library to use yet.
To some this may not be the ideal environment or the most current or most up-to-date set of tools. For me though it seems the quickest way to seriously explore and understand web issues.
I have a big hole in my software experience where several web apps should be, and I need to fill it with something. Might try Django or some other Python tool later. I'd actually like to try Twisted some time (asynch Python network engine, not web-specific).