“batteries included” philosophy
https://docs.djangoproject.com/en/2.2/ref/contrib/
contrib
packages
Django aims to follow Python’s “batteries included” philosophy. It ships with a variety of extra, optional tools that solve common Web-development problems.
This code lives in django/contrib
in the Django distribution. This document gives a rundown of the packages in contrib
, along with any dependencies those packages have.
https://docs.python.org/3/tutorial/stdlib.html#tut-batteries-included
10.12. Batteries Included
Python has a “batteries included” philosophy. This is best seen through the sophisticated and robust capabilities of its larger packages. For example:
-
The
xmlrpc.client
andxmlrpc.server
modules make implementing remote procedure calls into an almost trivial task. Despite the modules names, no direct knowledge or handling of XML is needed. -
The
email
package is a library for managing email messages, including MIME and other RFC 2822-based message documents. Unlikesmtplib
andpoplib
which actually send and receive messages, the email package has a complete toolset for building or decoding complex message structures (including attachments) and for implementing internet encoding and header protocols. -
The
json
package provides robust support for parsing this popular data interchange format. Thecsv
module supports direct reading and writing of files in Comma-Separated Value format, commonly supported by databases and spreadsheets. XML processing is supported by thexml.etree.ElementTree
,xml.dom
andxml.sax
packages. Together, these modules and packages greatly simplify data interchange between Python applications and other tools. -
The
sqlite3
module is a wrapper for the SQLite database library, providing a persistent database that can be updated and accessed using slightly nonstandard SQL syntax. -
Internationalization is supported by a number of modules including
gettext
,locale
, and thecodecs
package.