{"title":"What to read next","version":"5.2","locale":"en","docname":"intro/whatsnext","url":"/en/5.2/intro/whatsnext/","canonical":"https://djangodocs.dev/en/5.2/intro/whatsnext/","summary":"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…","html":"<h1>What to read next<a class=\"heading-anchor\" href=\"#what-to-read-next\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>So you’ve read all the <a class=\"reference internal\" href=\"/en/5.2/intro/\"><span class=\"doc\">introductory material</span></a> and have\ndecided you’d like to keep using Django. We’ve only just scratched the surface\nwith this intro (in fact, if you’ve read every single word, you’ve read about\n5% of the overall documentation).</p>\n<p>So what’s next?</p>\n<p>Well, we’ve always been big fans of learning by doing. At this point you should\nknow enough to start a project of your own and start fooling around. As you need\nto learn new tricks, come back to the documentation. There’s also a bigger\n<a class=\"reference external\" href=\"https://www.djangoproject.com/community/ecosystem/\">Django ecosystem</a> out there for you to explore that the community has\ncreated.</p>\n<p>We’ve put a lot of effort into making Django’s documentation useful, clear and\nas complete as possible. The rest of this document explains more about how the\ndocumentation works so that you can get the most out of it.</p>\n<p>(Yes, this is documentation about documentation. Rest assured we have no plans\nto write a document about how to read the document about documentation.)</p>\n<section id=\"finding-documentation\">\n<h2>Finding documentation<a class=\"heading-anchor\" href=\"#finding-documentation\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Django’s got a <em>lot</em> of documentation – almost 450,000 words and counting –\nso finding what you need can sometimes be tricky. A good place to start\nis the <a class=\"reference internal\" href=\"/en/5.2/genindex/\"><span class=\"std std-ref\">Index</span></a>. We also recommend using the builtin search feature.</p>\n<p>Or you can just browse around!</p>\n</section>\n<section id=\"how-the-documentation-is-organized\">\n<h2>How the documentation is organized<a class=\"heading-anchor\" href=\"#how-the-documentation-is-organized\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Django’s main documentation is broken up into “chunks” designed to fill\ndifferent needs:</p>\n<ul>\n<li><p>The <a class=\"reference internal\" href=\"/en/5.2/intro/\"><span class=\"doc\">introductory material</span></a> is designed for people new\nto Django – or to web development in general. It doesn’t cover anything\nin depth, but instead gives a high-level overview of how developing in\nDjango “feels”.</p></li>\n<li><p>The <a class=\"reference internal\" href=\"/en/5.2/topics/\"><span class=\"doc\">topic guides</span></a>, on the other hand, dive deep into\nindividual parts of Django. There are complete guides to Django’s\n<a class=\"reference internal\" href=\"/en/5.2/topics/db/\"><span class=\"doc\">model system</span></a>, <a class=\"reference internal\" href=\"/en/5.2/topics/templates/\"><span class=\"doc\">template engine</span></a>, <a class=\"reference internal\" href=\"/en/5.2/topics/forms/\"><span class=\"doc\">forms framework</span></a>, and much\nmore.</p>\n<p>This is probably where you’ll want to spend most of your time; if you work\nyour way through these guides you should come out knowing pretty much\neverything there is to know about Django.</p>\n</li>\n<li><p>Web development is often broad, not deep – problems span many domains.\nWe’ve written a set of <a class=\"reference internal\" href=\"/en/5.2/howto/\"><span class=\"doc\">how-to guides</span></a> that answer\ncommon “How do I …?” questions. Here you’ll find information about\n<a class=\"reference internal\" href=\"/en/5.2/howto/outputting-pdf/\"><span class=\"doc\">generating PDFs with Django</span></a>, <a class=\"reference internal\" href=\"/en/5.2/howto/custom-template-tags/\"><span class=\"doc\">writing\ncustom template tags</span></a>, and more.</p>\n<p>Answers to really common questions can also be found in the <a class=\"reference internal\" href=\"/en/5.2/faq/\"><span class=\"doc\">FAQ</span></a>.</p>\n</li>\n<li><p>The guides and how-to’s don’t cover every single class, function, and\nmethod available in Django – that would be overwhelming when you’re\ntrying to learn. Instead, details about individual classes, functions,\nmethods, and modules are kept in the <a class=\"reference internal\" href=\"/en/5.2/ref/\"><span class=\"doc\">reference</span></a>. This is\nwhere you’ll turn to find the details of a particular function or\nwhatever you need.</p></li>\n<li><p>If you are interested in deploying a project for public use, our docs have\n<a class=\"reference internal\" href=\"/en/5.2/howto/deployment/\"><span class=\"doc\">several guides</span></a> for various deployment\nsetups as well as a <a class=\"reference internal\" href=\"/en/5.2/howto/deployment/checklist/\"><span class=\"doc\">deployment checklist</span></a>\nfor some things you’ll need to think about.</p></li>\n<li><p>Finally, there’s some “specialized” documentation not usually relevant to\nmost developers. This includes the <a class=\"reference internal\" href=\"/en/5.2/releases/\"><span class=\"doc\">release notes</span></a> and\n<a class=\"reference internal\" href=\"/en/5.2/internals/\"><span class=\"doc\">internals documentation</span></a> for those who want to add\ncode to Django itself, and a <a class=\"reference internal\" href=\"/en/5.2/misc/\"><span class=\"doc\">few other things that don’t fit elsewhere</span></a>.</p></li>\n</ul>\n</section>\n<section id=\"how-documentation-is-updated\">\n<h2>How documentation is updated<a class=\"heading-anchor\" href=\"#how-documentation-is-updated\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Just as the Django code base is developed and improved on a daily basis, our\ndocumentation is consistently improving. We improve documentation for several\nreasons:</p>\n<ul class=\"simple\">\n<li><p>To make content fixes, such as grammar/typo corrections.</p></li>\n<li><p>To add information and/or examples to existing sections that need to be\nexpanded.</p></li>\n<li><p>To document Django features that aren’t yet documented. (The list of\nsuch features is shrinking but exists nonetheless.)</p></li>\n<li><p>To add documentation for new features as new features get added, or as\nDjango APIs or behaviors change.</p></li>\n</ul>\n<p>Django’s documentation is kept in the same source control system as its code. It\nlives in the <a class=\"extlink-source reference external\" href=\"https://github.com/django/django/blob/stable/5.2.x/docs\">docs</a> directory of our Git repository. Each document\nonline is a separate text file in the repository.</p>\n</section>\n<section id=\"where-to-get-it\">\n<h2>Where to get it<a class=\"heading-anchor\" href=\"#where-to-get-it\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>You can read Django documentation in several ways. They are, in order of\npreference:</p>\n<section id=\"on-the-web\">\n<h3>On the web<a class=\"heading-anchor\" href=\"#on-the-web\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>The most recent version of the Django documentation lives at\n<a class=\"reference external\" href=\"https://docs.djangoproject.com/en/dev/\">https://docs.djangoproject.com/en/dev/</a>. These HTML pages are generated\nautomatically from the text files in source control. That means they reflect the\n“latest and greatest” in Django – they include the very latest corrections and\nadditions, and they discuss the latest Django features, which may only be\navailable to users of the Django development version. (See\n<a class=\"reference internal\" href=\"#differences-between-doc-versions\"><span class=\"std std-ref\">Differences between versions</span></a> below.)</p>\n<p>We encourage you to help improve the docs by submitting changes, corrections and\nsuggestions in the <a class=\"reference external\" href=\"https://code.djangoproject.com/\">ticket system</a>. The Django developers actively monitor the\nticket system and use your feedback to improve the documentation for everybody.</p>\n<p>Note, however, that tickets should explicitly relate to the documentation,\nrather than asking broad tech-support questions. If you need help with your\nparticular Django setup, try the <a class=\"reference external\" href=\"https://forum.djangoproject.com/\">Django Forum</a> or the\n<a class=\"reference external\" href=\"https://chat.djangoproject.com\">Django Discord server</a> instead.</p>\n</section>\n<section id=\"in-plain-text\">\n<h3>In plain text<a class=\"heading-anchor\" href=\"#in-plain-text\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>For offline reading, or just for convenience, you can read the Django\ndocumentation in plain text.</p>\n<p>If you’re using an official release of Django, the zipped package (tarball) of\nthe code includes a <code class=\"docutils literal notranslate\"><span class=\"pre\">docs/</span></code> directory, which contains all the documentation\nfor that release.</p>\n<p>If you’re using the development version of Django (aka the main branch), the\n<code class=\"docutils literal notranslate\"><span class=\"pre\">docs/</span></code> directory contains all of the documentation. You can update your\nGit checkout to get the latest changes.</p>\n<p>One low-tech way of taking advantage of the text documentation is by using the\nUnix <code class=\"docutils literal notranslate\"><span class=\"pre\">grep</span></code> utility to search for a phrase in all of the documentation. For\nexample, this will show you each mention of the phrase “max_length” in any\nDjango document:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-0-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>grep<span class=\"w\"> </span>-r<span class=\"w\"> </span>max_length<span class=\"w\"> </span>/path/to/django/docs/\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-0-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> grep -r max_length \\path\\to\\django\\docs\\\n</code></pre></div></div></div>\n</section>\n<section id=\"as-html-locally\">\n<h3>As HTML, locally<a class=\"heading-anchor\" href=\"#as-html-locally\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>You can get a local copy of the HTML documentation following a few steps:</p>\n<ul>\n<li><p>Django’s documentation uses a system called <a class=\"reference external\" href=\"https://www.sphinx-doc.org/\">Sphinx</a> to convert from\nplain text to HTML. You’ll need to install Sphinx by either downloading\nand installing the package from the Sphinx website, or with <code class=\"docutils literal notranslate\"><span class=\"pre\">pip</span></code>:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-1-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>python<span class=\"w\"> </span>-m<span class=\"w\"> </span>pip<span class=\"w\"> </span>install<span class=\"w\"> </span>Sphinx\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-1-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> py -m pip install Sphinx\n</code></pre></div></div></div>\n</li>\n<li><p>Then, use the included <code class=\"docutils literal notranslate\"><span class=\"pre\">Makefile</span></code> to turn the documentation into HTML:</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span><span class=\"nb\">cd</span><span class=\"w\"> </span>path/to/django/docs\n<span class=\"gp\">$ </span>make<span class=\"w\"> </span>html\n</code></pre></div>\n<p>You’ll need <a class=\"reference external\" href=\"https://www.gnu.org/software/make/\">GNU Make</a> installed for this.</p>\n<p>If you’re on Windows you can alternatively use the included batch file:</p>\n<div class=\"code-block\" data-language=\"bat\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Bat</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Bat code\"><code><span class=\"k\">cd</span> path\\to\\django\\docs\nmake.bat html\n</code></pre></div>\n</li>\n<li><p>The HTML documentation will be placed in <code class=\"docutils literal notranslate\"><span class=\"pre\">docs/_build/html</span></code>.</p></li>\n</ul>\n</section>\n</section>\n<section id=\"differences-between-versions\">\n<span id=\"differences-between-doc-versions\"></span><h2>Differences between versions<a class=\"heading-anchor\" href=\"#differences-between-versions\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>The text documentation in the main branch of the Git repository contains the\n“latest and greatest” changes and additions. These changes include\ndocumentation of new features targeted for Django’s next <a class=\"reference internal\" href=\"/en/5.2/internals/release-process/#term-Feature-release\"><span class=\"xref std std-term\">feature\nrelease</span></a>. For that reason, it’s worth pointing out our policy\nto highlight recent changes and additions to Django.</p>\n<p>We follow this policy:</p>\n<ul class=\"simple\">\n<li><p>The development documentation at <a class=\"reference external\" href=\"https://docs.djangoproject.com/en/dev/\">https://docs.djangoproject.com/en/dev/</a> is\nfrom the main branch. These docs correspond to the latest feature release,\nplus whatever features have been added/changed in the framework since then.</p></li>\n<li><p>As we add features to Django’s development version, we update the\ndocumentation in the same Git commit transaction.</p></li>\n<li><p>To distinguish feature changes/additions in the docs, we use the phrase:\n“New in Django Development version” for the version of Django that hasn’t\nbeen released yet, or “New in version X.Y” for released versions.</p></li>\n<li><p>Documentation fixes and improvements may be backported to the last release\nbranch, at the discretion of the merger, however, once a version of Django is\n<a class=\"reference internal\" href=\"/en/5.2/internals/release-process/#supported-versions-policy\"><span class=\"std std-ref\">no longer supported</span></a>, that version of the\ndocs won’t get any further updates.</p></li>\n<li><p>The <a class=\"reference external\" href=\"https://docs.djangoproject.com/en/dev/\">main documentation web page</a> includes links to documentation for\nprevious versions. Be sure you are using the version of the docs\ncorresponding to the version of Django you are using!</p></li>\n</ul>\n</section>","rootId":"what-to-read-next","toc":[{"title":"Finding documentation","anchor":"finding-documentation","children":[]},{"title":"How the documentation is organized","anchor":"how-the-documentation-is-organized","children":[]},{"title":"How documentation is updated","anchor":"how-documentation-is-updated","children":[]},{"title":"Where to get it","anchor":"where-to-get-it","children":[{"title":"On the web","anchor":"on-the-web","children":[]},{"title":"In plain text","anchor":"in-plain-text","children":[]},{"title":"As HTML, locally","anchor":"as-html-locally","children":[]}]},{"title":"Differences between versions","anchor":"differences-between-versions","children":[]}],"breadcrumbs":[{"docname":"intro/index","title":"Getting started","url":"/en/5.2/intro/"}],"prev":{"docname":"intro/reusable-apps","title":"Advanced tutorial: How to write reusable apps","url":"/en/5.2/intro/reusable-apps/"},"next":{"docname":"intro/contributing","title":"Writing your first contribution for Django","url":"/en/5.2/intro/contributing/"},"formats":{"html":"/en/5.2/intro/whatsnext/","markdown":"/en/5.2/intro/whatsnext.md","json":"/en/5.2/intro/whatsnext.json"},"source":"https://github.com/django/django/blob/stable/5.2.x/docs/intro/whatsnext.txt","official":"https://docs.djangoproject.com/en/5.2/intro/whatsnext/","inVersions":["dev","6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10","1.9","1.8"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}