So I can't really comment about Django. I have some Python experience and very extensive Ruby and Rails experience. My advice: choose based on language not on framework.
It's fair to say that Python is a more "general purpose" language in that it has more extensive libraries and is faster.
It's also fair to say that for people who are language nerds, those who enjoy the power and elegance of particular languages, the kind of people who dick around in Scheme, Haskell, Factor, etc., Ruby is the better language. It has more interesting ideas (expressional syntax, open classes, the best case statement of any language ever) and significantly more powerful metaprogramming and DSL capabilities.
Both languages have blemishes, let's call that a wash.
There are certain features, that really come down to personal preference. Ruby has mutable strings, python doesn't. Ruby has a complex grammar, and there are usually several (readable) ways to express the same thing: for exmaple:
unless smelly?
eat!
end
and also,
eat! unless smelly?
Python is very minimalist grammatically. Python has significant whitespace, Ruby doesn't. The grammatical maximalism/minimalism is the most contentious issue. I used to be a minimalist and I feel like I have seen the light, but I respect those who disagree.
Now when it comes down to web frameworks, I don't think it matters so much... What is Rails? It's an ORM, a powerful Routing layer, a bunch of helper libraries for doing views, and a mostly useless controller layer. As a very advanced Rails user, I use very few of the view helpers anymore. I kinda like the way Django does forms better than Rails, though I've never really used it. Rails does REST really well. To be honest, the best framework out there right now is Merb.