123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232 |
- =================
- What to read next
- =================
- So you've read all the :doc:`introductory material </intro/index>` 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.
- We've put a lot of effort into making Django's documentation useful, easy to
- read 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 few good places to start
- are the :ref:`search` and the :ref:`genindex`.
- 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 :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
- whatever you need.
- * 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.
- * Finally, there's some "specialized" documentation not usually relevant to
- most developers. This includes the :doc:`release notes </releases/index>` and
- :doc:`internals documentation </internals/index>` for those who want to add
- code to Django itself, and a :doc:`few other things that simply don't fit
- elsewhere </misc/index>`.
- 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.
- .. _docs: https://github.com/django/django/tree/master/docs
- 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-users| mailing list or the `#django
- IRC channel`_ instead.
- .. _ticket system: https://code.djangoproject.com/newticket?component=Documentation
- .. _#django IRC channel: irc://irc.freenode.net/django
- 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, note that 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 "trunk"), note that 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:
- .. code-block:: bash
- $ grep -r max_length /path/to/django/docs/
- As HTML, locally
- ----------------
- You can get a local copy of the HTML documentation following a few easy 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 Web site, or with ``pip``:
- .. code-block:: bash
- $ sudo pip install Sphinx
- * Then, just use the included ``Makefile`` to turn the documentation into
- HTML:
- .. code-block:: bash
- $ 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:
- .. code-block:: bat
- cd path\to\django\docs
- make.bat html
- * The HTML documentation will be placed in ``docs/_build/html``.
- .. note::
- Generation of the Django documentation will work with Sphinx version 0.6
- or newer, but we recommend going straight to Sphinx 1.0.2 or newer.
- __ http://sphinx-doc.org/
- __ http://www.gnu.org/software/make/
- .. _differences-between-doc-versions:
- Differences between versions
- ============================
- As previously mentioned, the text documentation in our Git repository
- contains the "latest and greatest" changes and additions. These changes often
- include documentation of new features added in the Django development version
- -- the Git ("trunk") version of Django. For that reason, it's worth
- pointing out our policy on keeping straight the documentation for various
- versions of the framework.
- We follow this policy:
- * The primary documentation on djangoproject.com is an HTML version of the
- latest docs in Git. These docs always correspond to the latest
- official Django release, plus whatever features we've added/changed in
- the framework *since* the latest release.
- * As we add features to Django's development version, we try to update the
- documentation in the same Git commit transaction.
- * To distinguish feature changes/additions in the docs, we use the phrase:
- "New in version X.Y", being X.Y the next release version (hence, the one
- being developed).
- * Documentation fixes and improvements may be backported to the last release
- branch, at the discretion of the committer, however, once a version of
- Django is :ref:`no longer supported<backwards-compatibility-policy>`, that
- version of the docs won't get any further updates.
- * The `main documentation Web page`_ includes links to documentation for
- all previous versions. Be sure you are using the version of the docs
- corresponding to the version of Django you are using!
- .. _main documentation Web page: https://docs.djangoproject.com/en/dev/
|