Give it a break. That article is 2.6 years old. Some of the points might still be valid, but there is a solution (and probably was at the time of writing as well) to every and each of the problem mentioned there.
Regarding the quality of reusable apps, well, it's like with all other software libraries out there. Some of the apps are really invaluable (mostly the utility ones addressing things like API creation, database extensions, forms or debugging), some of them address very specific problems and some of them should't ever see the daylight. Nothing new.
The article is over two years old and looking at the source it seems like the site he was working on (http://www.papsonline.org/) is still Drupal. Would be interesting to know the background story is there.
Original author here. The website was drupal (which I championed originally), then pyramid when I redid it, now drupal again.
This is a voluntary association where I served two terms and then let somebody else handle it. The person in charge after me told me he was not familiar with Python, but used PHP a lot and after a few months changed the site back to drupal.
The article is old but i'd like to answer some points in the comments :
> I originally started a project of mine in Django only to find out that the ORM couldn’t handle the types of queries that I needed to perform.
I dont believe that , since you can do your own queries with Django , even in RAW sql.
> Not only that, but the ORM in Django forces it’s own database conventions on developers.
That's not true , you can use an old database that has nothing to do with django and still get a full integration with the ORM.
Django is not a CMS with plugins. It is a mvc framework that helps you begin really fast. While there are a few things that seems to make customisation a bit difficult, (auth with email instead of username ), there is always a simple solution to every problem if one digs a bit , but it requieres to understand how the framework works , like any other framework.
> I dont believe that , since you can do your own queries with Django , even in RAW sql.
Believe what you want to believe but we have experienced the same thing just couple of months ago and have ditched it completely. Besides if I'm going to write raw SQL then why would I want to use Django's ORM? That would be another layer, too much bureaucracy.
> Django is not a CMS with plugins.
It's just one step away from CMS with plugins. I have doubts about it being a "MVC" framework.
> It's just one step away from CMS with plugins. I have doubts about it being a "MVC" framework.
You have routes, models , views and templates , like any other MVC framework ,so tell me how does it make Django not a MVC framework ?
> Believe what you want to believe but we have experienced the same thing just couple of months ago and have ditched it completely. Besides if I'm going to write raw SQL then why would I want to use Django's ORM? That would be another layer, too much bureaucracy.
I never used Raw Sql with Django yet , i know you can , tell me a specific type of query Django cannot do ?
The problem with folks like you is either they did not wrote the doc , or they assume the framework with do everything for you for free. No framework does that.
Regarding the quality of reusable apps, well, it's like with all other software libraries out there. Some of the apps are really invaluable (mostly the utility ones addressing things like API creation, database extensions, forms or debugging), some of them address very specific problems and some of them should't ever see the daylight. Nothing new.