whatsnext.txt 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  1. =================
  2. What to read next
  3. =================
  4. So you've read all the :doc:`introductory material </intro/index>` and have
  5. decided you'd like to keep using Django. We've only just scratched the surface
  6. with this intro (in fact, if you've read every single word, you've read about
  7. 5% of the overall documentation).
  8. So what's next?
  9. Well, we've always been big fans of learning by doing. At this point you should
  10. know enough to start a project of your own and start fooling around. As you need
  11. to learn new tricks, come back to the documentation.
  12. We've put a lot of effort into making Django's documentation useful, easy to
  13. read and as complete as possible. The rest of this document explains more about
  14. how the documentation works so that you can get the most out of it.
  15. (Yes, this is documentation about documentation. Rest assured we have no plans
  16. to write a document about how to read the document about documentation.)
  17. Finding documentation
  18. =====================
  19. Django's got a *lot* of documentation -- almost 450,000 words and counting --
  20. so finding what you need can sometimes be tricky. A few good places to start
  21. are the :ref:`search` and the :ref:`genindex`.
  22. Or you can just browse around!
  23. How the documentation is organized
  24. ==================================
  25. Django's main documentation is broken up into "chunks" designed to fill
  26. different needs:
  27. * The :doc:`introductory material </intro/index>` is designed for people new
  28. to Django -- or to Web development in general. It doesn't cover anything
  29. in depth, but instead gives a high-level overview of how developing in
  30. Django "feels".
  31. * The :doc:`topic guides </topics/index>`, on the other hand, dive deep into
  32. individual parts of Django. There are complete guides to Django's
  33. :doc:`model system </topics/db/index>`, :doc:`template engine
  34. </topics/templates>`, :doc:`forms framework </topics/forms/index>`, and much
  35. more.
  36. This is probably where you'll want to spend most of your time; if you work
  37. your way through these guides you should come out knowing pretty much
  38. everything there is to know about Django.
  39. * Web development is often broad, not deep -- problems span many domains.
  40. We've written a set of :doc:`how-to guides </howto/index>` that answer
  41. common "How do I ...?" questions. Here you'll find information about
  42. :doc:`generating PDFs with Django </howto/outputting-pdf>`, :doc:`writing
  43. custom template tags </howto/custom-template-tags>`, and more.
  44. Answers to really common questions can also be found in the :doc:`FAQ
  45. </faq/index>`.
  46. * The guides and how-to's don't cover every single class, function, and
  47. method available in Django -- that would be overwhelming when you're
  48. trying to learn. Instead, details about individual classes, functions,
  49. methods, and modules are kept in the :doc:`reference </ref/index>`. This is
  50. where you'll turn to find the details of a particular function or
  51. whathaveyou.
  52. * If you are interested in deploying a project for public use, our docs have
  53. :doc:`several guides</howto/deployment/index>` for various deployment
  54. setups as well as a :doc:`deployment checklist</howto/deployment/checklist>`
  55. for some things you'll need to think about.
  56. * Finally, there's some "specialized" documentation not usually relevant to
  57. most developers. This includes the :doc:`release notes </releases/index>` and
  58. :doc:`internals documentation </internals/index>` for those who want to add
  59. code to Django itself, and a :doc:`few other things that simply don't fit
  60. elsewhere </misc/index>`.
  61. How documentation is updated
  62. ============================
  63. Just as the Django code base is developed and improved on a daily basis, our
  64. documentation is consistently improving. We improve documentation for several
  65. reasons:
  66. * To make content fixes, such as grammar/typo corrections.
  67. * To add information and/or examples to existing sections that need to be
  68. expanded.
  69. * To document Django features that aren't yet documented. (The list of
  70. such features is shrinking but exists nonetheless.)
  71. * To add documentation for new features as new features get added, or as
  72. Django APIs or behaviors change.
  73. Django's documentation is kept in the same source control system as its code. It
  74. lives in the `docs`_ directory of our Git repository. Each document online is a
  75. separate text file in the repository.
  76. .. _docs: https://github.com/django/django/tree/master/docs
  77. Where to get it
  78. ===============
  79. You can read Django documentation in several ways. They are, in order of
  80. preference:
  81. On the Web
  82. ----------
  83. The most recent version of the Django documentation lives at
  84. https://docs.djangoproject.com/en/dev/. These HTML pages are generated
  85. automatically from the text files in source control. That means they reflect the
  86. "latest and greatest" in Django -- they include the very latest corrections and
  87. additions, and they discuss the latest Django features, which may only be
  88. available to users of the Django development version. (See "Differences between
  89. versions" below.)
  90. We encourage you to help improve the docs by submitting changes, corrections and
  91. suggestions in the `ticket system`_. The Django developers actively monitor the
  92. ticket system and use your feedback to improve the documentation for everybody.
  93. Note, however, that tickets should explicitly relate to the documentation,
  94. rather than asking broad tech-support questions. If you need help with your
  95. particular Django setup, try the `django-users mailing list`_ or the `#django
  96. IRC channel`_ instead.
  97. .. _ticket system: https://code.djangoproject.com/newticket?component=Documentation
  98. .. _django-users mailing list: http://groups.google.com/group/django-users
  99. .. _#django IRC channel: irc://irc.freenode.net/django
  100. In plain text
  101. -------------
  102. For offline reading, or just for convenience, you can read the Django
  103. documentation in plain text.
  104. If you're using an official release of Django, note that the zipped package
  105. (tarball) of the code includes a ``docs/`` directory, which contains all the
  106. documentation for that release.
  107. If you're using the development version of Django (aka "trunk"), note that the
  108. ``docs/`` directory contains all of the documentation. You can update your
  109. Git checkout to get the latest changes.
  110. One low-tech way of taking advantage of the text documentation is by using the
  111. Unix ``grep`` utility to search for a phrase in all of the documentation. For
  112. example, this will show you each mention of the phrase "max_length" in any
  113. Django document:
  114. .. code-block:: bash
  115. $ grep -r max_length /path/to/django/docs/
  116. As HTML, locally
  117. ----------------
  118. You can get a local copy of the HTML documentation following a few easy steps:
  119. * Django's documentation uses a system called Sphinx__ to convert from
  120. plain text to HTML. You'll need to install Sphinx by either downloading
  121. and installing the package from the Sphinx Web site, or with ``pip``:
  122. .. code-block:: bash
  123. $ sudo pip install Sphinx
  124. * Then, just use the included ``Makefile`` to turn the documentation into
  125. HTML:
  126. .. code-block:: bash
  127. $ cd path/to/django/docs
  128. $ make html
  129. You'll need `GNU Make`__ installed for this.
  130. If you're on Windows you can alternatively use the included batch file:
  131. .. code-block:: bat
  132. cd path\to\django\docs
  133. make.bat html
  134. * The HTML documentation will be placed in ``docs/_build/html``.
  135. .. note::
  136. Generation of the Django documentation will work with Sphinx version 0.6
  137. or newer, but we recommend going straight to Sphinx 1.0.2 or newer.
  138. __ http://sphinx-doc.org/
  139. __ http://www.gnu.org/software/make/
  140. .. _differences-between-doc-versions:
  141. Differences between versions
  142. ============================
  143. As previously mentioned, the text documentation in our Git repository
  144. contains the "latest and greatest" changes and additions. These changes often
  145. include documentation of new features added in the Django development version
  146. -- the Git ("trunk") version of Django. For that reason, it's worth
  147. pointing out our policy on keeping straight the documentation for various
  148. versions of the framework.
  149. We follow this policy:
  150. * The primary documentation on djangoproject.com is an HTML version of the
  151. latest docs in Git. These docs always correspond to the latest
  152. official Django release, plus whatever features we've added/changed in
  153. the framework *since* the latest release.
  154. * As we add features to Django's development version, we try to update the
  155. documentation in the same Git commit transaction.
  156. * To distinguish feature changes/additions in the docs, we use the phrase:
  157. "New in version X.Y", being X.Y the next release version (hence, the one
  158. being developed).
  159. * Documentation fixes and improvements may be backported to the last release
  160. branch, at the discretion of the committer, however, once a version of
  161. Django is :ref:`no longer supported<backwards-compatibility-policy>`, that
  162. version of the docs won't get any further updates.
  163. * The `main documentation Web page`_ includes links to documentation for
  164. all previous versions. Be sure you are using the version of the docs
  165. corresponding to the version of Django you are using!
  166. .. _main documentation Web page: https://docs.djangoproject.com/en/dev/