As a framework, Django’s purpose is to provide a cohesive set of interfaces to make the most common tasks easier. Some of these tools are contained entirely within Django itself, where it’s easy to maintain consistency. Many other features are—or at least, could be—provided by external software packages.
Although Django itself supports some of the most common software packages for these various features, there are many more out there, especially in corporate environments. In addition to a developer’s preferences for one type of database over another, many other servers are already in use by existing applications that ...