If I made a language myself and made a great framework for it (which Rails and Django both indeed are), chances are people would also be learning that language just for the framework. That's not the case with languages like Perl or Python, since they're already widespread enough that most beginning (or advancing) programmers have heard of them. When they hear of Ruby, they also hear of Rails, but Django is for instance not "the" way of writing Python code for the web (which I'm not saying Rails is, but considering the amount of available frameworks, it's pretty damn close).
I'd say Python has two to three of this type of web framework, Rails-scale: Django and TurboGears (you could count Zope too). Here I agree that PHP far from has a de facto framework, simply because none of them are of this quality that the other mentioned ones are.