Python and Rails are so much better than Perl and Java, in so many ways, that I'd be ecstatic to see them both continue their growth.
They're both open source. They're both easy to read and easy to write. They both have good support for OOP and functional programming ideas. They are both easy to learn, especially if you are already a programmer.
Why does everyone feel the needs to treat this like an either/or proposition?
I've worked with Python for 5 years, am teaching myself Ruby (and Rails) and plan to incorporate both into my toolset.
If I was starting a program from scratch, what language would I use? It depends on the problem I'm solving -- and that should always be the answer.
I think the battle is over your last sentence, because the appearance is that there is this huge class of problems people are solving that are all "the need to build a database-driven website". And python people freaked out by Rails are seeing an apparently large number of people facing that problem statement evaluating the tools and choosing Ruby/Rails over Python/X, which apparently calls into question the freaked-out person's own choice of Python/X for their own specific website-building problem. In many cases it's valid for them to doubt their own choice (just because it's a herd doesn't mean it's not also a great tool), however painful that realization.
But it's also probably the case that the problem statement is too broad and too short-termed, and in my opinion it is almost certainly the case that neither Django or Rails with their "complete self-maintained stack" mentality are likely to hold onto the title of best tool as long as they might have otherwise.