vs. 
If you're looking for a post that is going to pick apart and freely criticize the two frameworks without restraint - this isn't it. Instead, this post is more about my development adventures ( at least those at home as opposed to those at work ) consisting of an attempt to decide between two different frameworks: Groovy on Grails and Django ( Python ).
I've pretty much run the gauntlet using different frameworks over the last 1 1/2 - 2 years with Ruby on Rails ( RoR ), Symfony ( PHP ) and Struts ( Java ) - with most of my professional experience using Struts. After using newer frameworks like RoR and Django I had to admit to myself that although Struts was pretty cool, as far a frameworks go, faster development could be achieved using one of the newer frameworks.
Initially I started working with Symfony. There were struggles to get it working comfortably. I followed ( and failed at first ) with some of the tutorials. Eventually I found my way - but then I discovered Ruby on Rails. It was even better than Symfony even though I had never used Ruby. While they both offered URL mapping, scaffolds and very terse coding I stumbled across Django. I had no experience whatsoever with Python, but had heard wonderful things about it from a lot of Java programmers. So I sat down with some of the Django tutorials and got started. At first it was a major pain in my ass - I almost gave up. Late one night, however, it all started clicking. Since then, everything I did was with Django. Some of the reasons why:
- Django comes with a built-in authentication system. This feature eliminates so much coding that normally has to be done with a lot of my projects.
- Django also comes with a pretty cool administration system. No more building all the interfaces to handle administrative-level management.
- Mapping URLs to actions is a snap.
- No bundled AJAX. I may fall into the minority here, but this is something I have found is better than having the built-in-ajax defaulting to specific ajax frameworks.
- It provides all the benefits of a scripted language and Hibernate
- You can use existing Java code or .jar files in the project. While you are using Groovy as the language on the backend - it is still Java.
- Deployment is much easier because you bundle it all into a .war file.
- Since you are bundling to a .war, deployment to Tomcat or your container of choice is a snap. You may have to do a bit of fine tuning for the container you use, but Tomcat worked fine for me.
- Lastly, there are numerous plug-ins available to enhance your project for a multitude of purposes.
Have an opinion? Leave one here . . .

I think, the point is which one you would choose for the development; Python or Java.
Even both of the frameworks make your the development life easier and faster, python rocks and makes it possible to build an application in a few days which would take a few weeks in Java, probably you already know this :)
Thanks for weighing in, Bora. If I was comparing Struts to Django it would be, no questions asked, Django. You'd cut your development time in half, if not more. But Grails is different. It is the equivalent to Ruby on Rails for Java.
The other thing I probably should have mentioned - but don't see that anyone called me out on - is the newness of Groovy on Grails vs the level of adaption Django has achieved. At first glance you won't really see a lot that is knock-your-socks-off impressive, but here's a list of sites that are using groovy. And here's one for sites running Django. To me, it's just one more reason why Django stands a bit taller than Grails.
I love Django, but for now on I will choose Grails because it is pretty stable now, fast enough, easier to maintain (IMHO) and has a lot of cool libraries from the Java ecosystem. And now it is a Spring Source product which means more product quality and market acceptance.
Definitely Daniel. I too like Django quite a bit. Often it's difficult to choose which of the frameworks I want to use for any given project. They both have their pros and cons.