What's the distinction between Django and Joomla? Or even better what's the distinction between Content Managers (Joomla, Drupal etc) and Web Framworks (Django, Symphony, Zend etc)

Django (and web frameworks) provide common functionality required to build most typical websites. This functionality is mainly technical along with a novice user (read: non programmer) has little understanding regarding how to put it to use.

While Joomla (and CMSes generally) are packages targeted at non developers (but nonetheless technical customers, somewhat a minimum of) to deploy and run websites with them.

Should you install Joomla, you can include content aimed at your website

Should you install Django, you can begin programming something which will help you to add content

Using toy construction package example-

Content management systems: Similar to a toy house package. You are able to personalize it a great deal, but it is perfect for building mainly one type of toy.

Web Application Framework: Similar to a Lego set. you are able to build various type of toy structures quickly as you don't have to result in the left bricks yourself.

no Framework: Developing web applications just with a programming language's standard library is much like making toys from plain clay. It provides most freedom, however, you also spend the money for cost of creating all of the pieces yourself.

Straight from the Django website:

Is Django a content-management-system (Content management systems)?

No, Django isn't a Content management systems, or any kind of “turnkey product” by itself. It’s an internet framework it’s a programming tool that allows you build Internet sites.

For instance, it doesn’t make much sense to check Django to something similar to Drupal, because Django is one thing you utilize to produce such things as Drupal.

Obviously, Django’s automatic admin website is fantastic and timesaving – however the admin website is one module of Django the framework. In addition, although Django has special conveniences for building “CMS-y” applications, that does not mean it isn't just like right for building “non-Content management systems-y” applications (whatever which means!).

Web frameworks are programmer tools which help build content managers and other alike web programs.

Just like content managers could be categorized from simple &lifier easy (Wordpress? and Joomla?) to highly easy to customize &lifier complex (Typo3?), frameworks could be best for several tasks (and never so elegant at others). Some web frameworks (Rails?, Django? and TurboGears?) tend to be more targeted towards Content management systems-like programs, many others (Werkzeug? and Twisted?) viewed foundation for additional complex programs. And you will find others (Pylons?) looking for the middleground.

NOTE: Project names in parenthesis all possess a question mark since the categorization is my own opinion. They might be correct good examples.