I just spent a few days bringing a fairly old website on Django 1.2 up to the latest and greatest stable release and was surprised how, with good test coverage, you can just swap the new library in, fix broken tests and try running it, fixing as you go until it runs.<p>It's given me more confidence to not write off Py3 as a pipe-dream, once Django moves into the Python3 world.<p>EDIT: Thanks to six, Django does run on Python 3. I just ported an in house app to Python 3 by changing one print statement and some relative imports. Too easy.
I think PG should start flagging "Python 2.8" and "Python 3 sucks" posts. All that could be said, it has been said; what's left is a constant rehashing of old arguments for the sake of a good flamewar.