drupal is not a framework. django is a web framework.
Django for PHP Developers
Comparing the Languages
@claudiu, that's a subjective comment. Drupal may not have started as a framework but it certainly provides a vast amount of reusable and modular functionality that can help with many different size apps.
In my experience, the topic of to whether Drupal is a web framework only exists within the Drupal community; to those that actually use web frameworks, it doesn't really emerge as a question.
@Andy, I tend to think you're probably right. I am however mainly participating in the Drupal community :-)
There are many of these types of posts on the net. What I've noticed is that they rarely discuss what I see as drupals weakest point. In my experience for anything but the simplest of sites the lack of a good upgrade path in drupal makes it expensive in time and money to keep up to date. While frameworks need updating I have found the process far less costly overall in django when compared to drupal. That coupled with the time it takes to tweak drupal modules to get what you want to me has led us to django for mos sites we build including some simple ones.
@chad, are you comparing minor updates with a minor framework update vs a major update in Drupal? How easy will it be to upgrade from Django 1.x to 2.x? Drupal only make API changes between major versions and the core upgrade path should be pretty good. Contrib modules however is often not such a good story.
I am with Chad on this one. Minor updates on Drupal aren't that big a deal (although very frequent), but doing a major upgrade is a major pain in the ass. Especially when you start using things like custom content types, etc. Not to mention the constant module updates and security fixes that come out on a weekly basis, keeping a Drupal site current over a number of years is a very high maintenance proposition. At least from my experience :-)
Willer is a PHP framework, it was created based on ideas coming from other frameworks like Codeigniter(php) and Django(python).