What to read next¶
So youâve read all the introductory material and have decided youâd like to keep using Django. Weâve only just scratched the surface with this intro (in fact, if youâve read every single word, youâve read about 5% of the overall documentation).
So whatâs next?
Well, weâve always been big fans of learning by doing. At this point you should know enough to start a project of your own and start fooling around. As you need to learn new tricks, come back to the documentation. Thereâs also a bigger Django ecosystem out there for you to explore that the community has created.
Weâve put a lot of effort into making Djangoâs documentation useful, clear and as complete as possible. The rest of this document explains more about how the documentation works so that you can get the most out of it.
(Yes, this is documentation about documentation. Rest assured we have no plans to write a document about how to read the document about documentation.)
Finding documentation¶
Djangoâs got a lot of documentation â almost 450,000 words and counting â so finding what you need can sometimes be tricky. A good place to start is the Index. We also recommend using the builtin search feature.
Or you can just browse around!
How the documentation is organized¶
Djangoâs main documentation is broken up into âchunksâ designed to fill different needs:
The introductory material is designed for people new to Django â or to web development in general. It doesnât cover anything in depth, but instead gives a high-level overview of how developing in Django âfeelsâ.
The topic guides, on the other hand, dive deep into individual parts of Django. There are complete guides to Djangoâs model system, template engine, forms framework, and much more.
This is probably where youâll want to spend most of your time; if you work your way through these guides you should come out knowing pretty much everything there is to know about Django.
Web development is often broad, not deep â problems span many domains. Weâve written a set of how-to guides that answer common âHow do I âŠ?â questions. Here youâll find information about generating PDFs with Django, writing custom template tags, and more.
Answers to really common questions can also be found in the FAQ.
The guides and how-toâs donât cover every single class, function, and method available in Django â that would be overwhelming when youâre trying to learn. Instead, details about individual classes, functions, methods, and modules are kept in the reference. This is where youâll turn to find the details of a particular function or whatever you need.
If you are interested in deploying a project for public use, our docs have several guides for various deployment setups as well as a deployment checklist for some things youâll need to think about.
Finally, thereâs some âspecializedâ documentation not usually relevant to most developers. This includes the release notes and internals documentation for those who want to add code to Django itself, and a few other things that donât fit elsewhere.
How documentation is updated¶
Just as the Django code base is developed and improved on a daily basis, our documentation is consistently improving. We improve documentation for several reasons:
To make content fixes, such as grammar/typo corrections.
To add information and/or examples to existing sections that need to be expanded.
To document Django features that arenât yet documented. (The list of such features is shrinking but exists nonetheless.)
To add documentation for new features as new features get added, or as Django APIs or behaviors change.
Djangoâs documentation is kept in the same source control system as its code. It lives in the docs directory of our Git repository. Each document online is a separate text file in the repository.
Where to get it¶
You can read Django documentation in several ways. They are, in order of preference:
On the web¶
The most recent version of the Django documentation lives at https://docs.djangoproject.com/en/dev/. These HTML pages are generated automatically from the text files in source control. That means they reflect the âlatest and greatestâ in Django â they include the very latest corrections and additions, and they discuss the latest Django features, which may only be available to users of the Django development version. (See Differences between versions below.)
We encourage you to help improve the docs by submitting changes, corrections and suggestions in the ticket system. The Django developers actively monitor the ticket system and use your feedback to improve the documentation for everybody.
Note, however, that tickets should explicitly relate to the documentation, rather than asking broad tech-support questions. If you need help with your particular Django setup, try the Django Forum or the Django Discord server instead.
In plain text¶
For offline reading, or just for convenience, you can read the Django documentation in plain text.
If youâre using an official release of Django, the zipped package (tarball) of
the code includes a docs/ directory, which contains all the documentation
for that release.
If youâre using the development version of Django (aka the main branch), the
docs/ directory contains all of the documentation. You can update your
Git checkout to get the latest changes.
One low-tech way of taking advantage of the text documentation is by using the
Unix grep utility to search for a phrase in all of the documentation. For
example, this will show you each mention of the phrase âmax_lengthâ in any
Django document:
$ grep -r max_length /path/to/django/docs/
...\> grep -r max_length \path\to\django\docs\
As HTML, locally¶
You can get a local copy of the HTML documentation following a few steps:
Djangoâs documentation uses a system called Sphinx to convert from plain text to HTML. Youâll need to install Sphinx by either downloading and installing the package from the Sphinx website, or with
pip:$ python -m pip install Sphinx
...\> py -m pip install SphinxThen, use the included
Makefileto turn the documentation into HTML:$ cd path/to/django/docs $ make html
Youâll need GNU Make installed for this.
If youâre on Windows you can alternatively use the included batch file:
cd path\to\django\docs make.bat htmlThe HTML documentation will be placed in
docs/_build/html.
Differences between versions¶
The text documentation in the main branch of the Git repository contains the âlatest and greatestâ changes and additions. These changes include documentation of new features targeted for Djangoâs next feature release. For that reason, itâs worth pointing out our policy to highlight recent changes and additions to Django.
We follow this policy:
The development documentation at https://docs.djangoproject.com/en/dev/ is from the main branch. These docs correspond to the latest feature release, plus whatever features have been added/changed in the framework since then.
As we add features to Djangoâs development version, we update the documentation in the same Git commit transaction.
To distinguish feature changes/additions in the docs, we use the phrase: âNew in Django Development versionâ for the version of Django that hasnât been released yet, or âNew in version X.Yâ for released versions.
Documentation fixes and improvements may be backported to the last release branch, at the discretion of the merger, however, once a version of Django is no longer supported, that version of the docs wonât get any further updates.
The main documentation web page includes links to documentation for previous versions. Be sure you are using the version of the docs corresponding to the version of Django you are using!