2008-08-24 00:25:40 +02:00
|
|
|
=================
|
|
|
|
What to read next
|
|
|
|
=================
|
|
|
|
|
2010-08-19 21:27:44 +02:00
|
|
|
So you've read all the :doc:`introductory material </intro/index>` and have
|
2008-08-24 00:25:40 +02:00
|
|
|
decided you'd like to keep using Django. We've only just scratched the surface
|
2013-01-29 14:05:34 +01:00
|
|
|
with this intro (in fact, if you've read every single word, you've read about
|
|
|
|
5% of the overall documentation).
|
2008-08-24 00:25:40 +02:00
|
|
|
|
|
|
|
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.
|
|
|
|
|
2019-06-17 16:54:55 +02:00
|
|
|
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.
|
2008-08-24 00:25:40 +02:00
|
|
|
|
|
|
|
(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
|
|
|
|
=====================
|
|
|
|
|
2013-01-29 14:05:34 +01:00
|
|
|
Django's got a *lot* of documentation -- almost 450,000 words and counting --
|
2019-11-25 11:55:52 +01:00
|
|
|
so finding what you need can sometimes be tricky. A good place to start
|
|
|
|
is the :ref:`genindex`. We also recommend using the builtin search feature.
|
2008-08-24 00:25:40 +02:00
|
|
|
|
|
|
|
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:
|
|
|
|
|
2011-10-14 02:12:01 +02:00
|
|
|
* The :doc:`introductory material </intro/index>` 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 :doc:`topic guides </topics/index>`, on the other hand, dive deep into
|
|
|
|
individual parts of Django. There are complete guides to Django's
|
|
|
|
:doc:`model system </topics/db/index>`, :doc:`template engine
|
|
|
|
</topics/templates>`, :doc:`forms framework </topics/forms/index>`, 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 :doc:`how-to guides </howto/index>` that answer
|
|
|
|
common "How do I ...?" questions. Here you'll find information about
|
|
|
|
:doc:`generating PDFs with Django </howto/outputting-pdf>`, :doc:`writing
|
|
|
|
custom template tags </howto/custom-template-tags>`, and more.
|
|
|
|
|
|
|
|
Answers to really common questions can also be found in the :doc:`FAQ
|
|
|
|
</faq/index>`.
|
|
|
|
|
|
|
|
* 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 :doc:`reference </ref/index>`. This is
|
|
|
|
where you'll turn to find the details of a particular function or
|
2014-02-22 18:30:28 +01:00
|
|
|
whatever you need.
|
2011-10-14 02:12:01 +02:00
|
|
|
|
2013-08-02 00:07:59 +02:00
|
|
|
* If you are interested in deploying a project for public use, our docs have
|
|
|
|
:doc:`several guides</howto/deployment/index>` for various deployment
|
|
|
|
setups as well as a :doc:`deployment checklist</howto/deployment/checklist>`
|
|
|
|
for some things you'll need to think about.
|
|
|
|
|
2011-10-14 02:12:01 +02:00
|
|
|
* Finally, there's some "specialized" documentation not usually relevant to
|
2012-09-11 02:19:35 +02:00
|
|
|
most developers. This includes the :doc:`release notes </releases/index>` and
|
2011-10-14 02:12:01 +02:00
|
|
|
:doc:`internals documentation </internals/index>` for those who want to add
|
2019-06-17 16:54:55 +02:00
|
|
|
code to Django itself, and a :doc:`few other things that don't fit elsewhere
|
|
|
|
</misc/index>`.
|
2010-05-10 13:35:43 +02:00
|
|
|
|
2008-08-24 00:25:40 +02:00
|
|
|
|
|
|
|
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:
|
|
|
|
|
2011-10-14 02:12:01 +02:00
|
|
|
* To make content fixes, such as grammar/typo corrections.
|
2008-08-24 00:25:40 +02:00
|
|
|
|
2011-10-14 02:12:01 +02:00
|
|
|
* To add information and/or examples to existing sections that need to be
|
|
|
|
expanded.
|
2008-08-24 00:25:40 +02:00
|
|
|
|
2011-10-14 02:12:01 +02:00
|
|
|
* To document Django features that aren't yet documented. (The list of
|
|
|
|
such features is shrinking but exists nonetheless.)
|
2008-08-24 00:25:40 +02:00
|
|
|
|
2011-10-14 02:12:01 +02:00
|
|
|
* To add documentation for new features as new features get added, or as
|
|
|
|
Django APIs or behaviors change.
|
2008-08-24 00:25:40 +02:00
|
|
|
|
|
|
|
Django's documentation is kept in the same source control system as its code. It
|
2019-03-29 01:32:17 +01:00
|
|
|
lives in the :source:`docs` directory of our Git repository. Each document
|
|
|
|
online is a separate text file in the repository.
|
2008-08-24 00:25:40 +02:00
|
|
|
|
|
|
|
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
|
2012-06-28 10:49:07 +02:00
|
|
|
https://docs.djangoproject.com/en/dev/. These HTML pages are generated
|
2008-08-24 00:25:40 +02:00
|
|
|
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
|
2018-01-17 17:42:35 +01:00
|
|
|
available to users of the Django development version. (See
|
|
|
|
:ref:`differences-between-doc-versions` below.)
|
2008-08-24 00:25:40 +02:00
|
|
|
|
|
|
|
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
|
2013-10-04 00:51:22 +02:00
|
|
|
particular Django setup, try the |django-users| mailing list or the `#django
|
2008-08-24 00:25:40 +02:00
|
|
|
IRC channel`_ instead.
|
|
|
|
|
2016-06-03 00:46:57 +02:00
|
|
|
.. _ticket system: https://code.djangoproject.com/
|
2020-04-27 22:28:40 +02:00
|
|
|
.. _#django IRC channel: https://webchat.freenode.net/#django
|
2008-08-24 00:25:40 +02:00
|
|
|
|
|
|
|
In plain text
|
|
|
|
-------------
|
|
|
|
|
|
|
|
For offline reading, or just for convenience, you can read the Django
|
|
|
|
documentation in plain text.
|
|
|
|
|
2018-01-17 17:42:35 +01:00
|
|
|
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.
|
2008-08-24 00:25:40 +02:00
|
|
|
|
2021-02-25 10:52:48 +01:00
|
|
|
If you're using the development version of Django (aka the main branch), the
|
2012-04-28 05:57:23 +02:00
|
|
|
``docs/`` directory contains all of the documentation. You can update your
|
|
|
|
Git checkout to get the latest changes.
|
2008-08-24 00:25:40 +02:00
|
|
|
|
|
|
|
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
|
Removed oldforms, validators, and related code:
* Removed `Manipulator`, `AutomaticManipulator`, and related classes.
* Removed oldforms specific bits from model fields:
* Removed `validator_list` and `core` arguments from constructors.
* Removed the methods:
* `get_manipulator_field_names`
* `get_manipulator_field_objs`
* `get_manipulator_fields`
* `get_manipulator_new_data`
* `prepare_field_objs_and_params`
* `get_follow`
* Renamed `flatten_data` method to `value_to_string` for better alignment with its use by the serialization framework, which was the only remaining code using `flatten_data`.
* Removed oldforms methods from `django.db.models.Options` class: `get_followed_related_objects`, `get_data_holders`, `get_follow`, and `has_field_type`.
* Removed oldforms-admin specific options from `django.db.models.fields.related` classes: `num_in_admin`, `min_num_in_admin`, `max_num_in_admin`, `num_extra_on_change`, and `edit_inline`.
* Serialization framework
* `Serializer.get_string_value` now calls the model fields' renamed `value_to_string` methods.
* Removed a special-casing of `models.DateTimeField` in `core.serializers.base.Serializer.get_string_value` that's handled by `django.db.models.fields.DateTimeField.value_to_string`.
* Removed `django.core.validators`:
* Moved `ValidationError` exception to `django.core.exceptions`.
* For the couple places that were using validators, brought over the necessary code to maintain the same functionality.
* Introduced a SlugField form field for validation and to compliment the SlugField model field (refs #8040).
* Removed an oldforms-style model creation hack (refs #2160).
git-svn-id: http://code.djangoproject.com/svn/django/trunk@8616 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-27 09:19:44 +02:00
|
|
|
example, this will show you each mention of the phrase "max_length" in any
|
2008-08-24 00:25:40 +02:00
|
|
|
Django document:
|
|
|
|
|
2018-01-20 18:38:48 +01:00
|
|
|
.. console::
|
2008-08-24 00:25:40 +02:00
|
|
|
|
2008-08-30 07:35:18 +02:00
|
|
|
$ grep -r max_length /path/to/django/docs/
|
2010-05-10 13:35:43 +02:00
|
|
|
|
2008-08-24 00:25:40 +02:00
|
|
|
As HTML, locally
|
|
|
|
----------------
|
|
|
|
|
2019-06-17 16:54:55 +02:00
|
|
|
You can get a local copy of the HTML documentation following a few steps:
|
2008-08-24 00:25:40 +02:00
|
|
|
|
2011-10-14 02:12:01 +02:00
|
|
|
* Django's documentation uses a system called Sphinx__ to convert from
|
|
|
|
plain text to HTML. You'll need to install Sphinx by either downloading
|
2015-11-15 13:05:15 +01:00
|
|
|
and installing the package from the Sphinx website, or with ``pip``:
|
2010-05-10 13:35:43 +02:00
|
|
|
|
2018-01-20 18:38:48 +01:00
|
|
|
.. console::
|
2010-05-10 13:35:43 +02:00
|
|
|
|
2019-04-14 17:02:36 +02:00
|
|
|
$ python -m pip install Sphinx
|
2010-05-10 13:35:43 +02:00
|
|
|
|
2019-06-17 16:54:55 +02:00
|
|
|
* Then, use the included ``Makefile`` to turn the documentation into HTML:
|
2010-05-10 13:35:43 +02:00
|
|
|
|
2015-02-19 04:19:21 +01:00
|
|
|
.. code-block:: console
|
2010-05-10 13:35:43 +02:00
|
|
|
|
2011-10-14 02:12:01 +02:00
|
|
|
$ cd path/to/django/docs
|
|
|
|
$ make html
|
2010-05-10 13:35:43 +02:00
|
|
|
|
2011-10-14 02:12:01 +02:00
|
|
|
You'll need `GNU Make`__ installed for this.
|
2010-05-10 13:35:43 +02:00
|
|
|
|
2011-10-14 02:12:01 +02:00
|
|
|
If you're on Windows you can alternatively use the included batch file:
|
2011-07-19 11:00:24 +02:00
|
|
|
|
2011-10-14 02:12:01 +02:00
|
|
|
.. code-block:: bat
|
2011-07-19 11:00:24 +02:00
|
|
|
|
2011-10-14 02:12:01 +02:00
|
|
|
cd path\to\django\docs
|
|
|
|
make.bat html
|
2011-07-19 11:00:24 +02:00
|
|
|
|
2011-10-14 02:12:01 +02:00
|
|
|
* The HTML documentation will be placed in ``docs/_build/html``.
|
2010-05-10 13:35:43 +02:00
|
|
|
|
2020-01-29 06:04:15 +01:00
|
|
|
__ https://www.sphinx-doc.org/
|
2015-11-29 17:29:46 +01:00
|
|
|
__ https://www.gnu.org/software/make/
|
2008-08-24 00:25:40 +02:00
|
|
|
|
2012-06-07 19:47:32 +02:00
|
|
|
.. _differences-between-doc-versions:
|
|
|
|
|
2008-08-24 00:25:40 +02:00
|
|
|
Differences between versions
|
|
|
|
============================
|
|
|
|
|
2021-02-25 10:52:48 +01:00
|
|
|
The text documentation in the main branch of the Git repository contains the
|
2018-01-17 17:42:35 +01:00
|
|
|
"latest and greatest" changes and additions. These changes include
|
|
|
|
documentation of new features targeted for Django's next :term:`feature
|
2020-04-14 09:32:09 +02:00
|
|
|
release <Feature release>`. For that reason, it's worth pointing out our policy
|
|
|
|
to highlight recent changes and additions to Django.
|
2008-08-24 00:25:40 +02:00
|
|
|
|
|
|
|
We follow this policy:
|
|
|
|
|
2018-01-17 17:42:35 +01:00
|
|
|
* The development documentation at https://docs.djangoproject.com/en/dev/ is
|
2021-02-25 10:52:48 +01:00
|
|
|
from the main branch. These docs correspond to the latest feature release,
|
2018-01-17 17:42:35 +01:00
|
|
|
plus whatever features have been added/changed in the framework since then.
|
2008-08-24 00:25:40 +02:00
|
|
|
|
2018-01-17 17:42:35 +01:00
|
|
|
* As we add features to Django's development version, we update the
|
2012-04-28 05:57:23 +02:00
|
|
|
documentation in the same Git commit transaction.
|
2008-08-24 00:25:40 +02:00
|
|
|
|
2011-10-14 02:12:01 +02:00
|
|
|
* To distinguish feature changes/additions in the docs, we use the phrase:
|
2018-01-17 17:42:35 +01:00
|
|
|
"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.
|
2008-08-24 00:25:40 +02:00
|
|
|
|
2012-10-25 12:51:19 +02:00
|
|
|
* Documentation fixes and improvements may be backported to the last release
|
|
|
|
branch, at the discretion of the committer, however, once a version of
|
2018-01-31 16:12:51 +01:00
|
|
|
Django is :ref:`no longer supported<supported-versions-policy>`, that version
|
|
|
|
of the docs won't get any further updates.
|
2008-08-24 00:25:40 +02:00
|
|
|
|
2011-10-14 02:12:01 +02:00
|
|
|
* The `main documentation Web page`_ includes links to documentation for
|
2018-01-17 17:42:35 +01:00
|
|
|
previous versions. Be sure you are using the version of the docs
|
2012-10-25 12:51:19 +02:00
|
|
|
corresponding to the version of Django you are using!
|
2008-08-24 00:25:40 +02:00
|
|
|
|
2012-06-28 10:49:07 +02:00
|
|
|
.. _main documentation Web page: https://docs.djangoproject.com/en/dev/
|