I started using Python around 2001, and more seriously in 04/05, and more seriously a little later on. I can remember a few things happening that shifted the attitude towards Python and made it more viable as a web development language.
FCGI happen, and then WSGI. Prior to that you had to run Python scripts as ordinary CGI, which was not fast enough. mod_python was nowhere near as good as mod_php, the .NET CLR or the Java platform JIT VM.
Prominent Universities began teaching algorithm and other classes using Python, and book like 'Learn to think like a Computer Scientist' were published and became popular.
It became a top-tier implementation language at Google earlier in the decade, and this had an impact in how seriously it was taken.
Visible developers and standards developers, such as Joe Gregorio and Mark Pilgrim were both using Python to implement the prototypes of the Atom protocol. Pilgrim then wrote DiveIntoPython which helped a lot of people learn and pick up the language.
The 2.x branch became stable and implemented features such as Unicode support, good XML parsing, a new Garbage Collector, generators and functional methods, etc.
The biggest tipping point was Django - which became very famous along with RubyOnRails around 2005. The Django philosophy differed to that of Rails, and a lot of developers found it more suitable for projects.
For a language that was not backed by a large corporation (like C# and Java) the adoption and development curve are pretty typical and close to other open source languages such as Ruby.
Django didn't have as much impact on Python as Rails did on Ruby, as it was already being used a lot by scientists, mathematicians, quants, academia etc.