Just a quick comparison, since I'm working on learning Rails at the moment...
With the proposed changes to models and views, starting a Django project and adding an application creates this structure: project/ apps/ appname/ models.py views.py settings.py urls.py Somewhere in there, you will probably eventually add a "templates" directory as well. This is, in a nutshell, the structure of a Django application. At the very beginning, you do have to create a database and let Django know about it, as well as run 'init', update INSTALLED_APPS and install your application. By comparison, with Rails (after 'rails appname' and generating a controller) you get: appname/ app/ controllers/ controllername helpers/ controllername_helper.rb views/ components/ config/ db/ doc/ lib/ log/ public/ script/ test/ fixtures/ functional/ controllername_controller_test.rb mocks/ unit/ test_helper.rb vendor/ And this is only the 'skeleton' on which the application is hung. You still have to create a database, and provide database settings (three sets of database settings, and specified in YAML instead of Ruby!), run 'script/generate controller' for each and every controller you want to have... there's plenty of complexity here, too, and arguably more complexity than in Django. Which leads me to two conclusions: 1. Django's doing really really well on the simplicity front, to be able to provide such a simple structure and so few actual files a developer has to edit, while still offering such power and flexibility. 2. If this sort of complexity were truly a barrier to developer adoption, Rails would be dead in the water ;) So, getting back to the point David was making, and expanding on it a bit, I think these are the things that are currently holding back Django adoption: 1. Django is still "new" in the community's mind, having been available publicly for only a few months. 2. Django doesn't have one of those nifty "useful application in twenty minutes" tutorials/screencasts. Again, I'm partial to a weblog as the sample app because it's stupidly easy to do in Django and shows off a lot of the nice built-in stuff, and having something visual that people can watch would go a long way toward communicating how simple and effective Django really is. 3. Django hasn't done much in terms of marketing to the developer community, especially as far as differentiating itself from the "yet another MVC framework" image. The "design philosophies" document on the Django site is a good start for explaining just what Django has to offer to a developer, but it'd be nice to have something more prominent, maybe even on the front page, which explains "this is how we're different from the other frameworks". -- "May the forces of evil become confused on the way to your house." -- George Carlin