{"title":"Django documentation contents","version":"5.2","locale":"en","docname":"contents","url":"/en/5.2/contents/","canonical":"https://djangodocs.dev/en/5.2/contents/","summary":"Getting started Django at a glance Design your model Install it Enjoy the free API A dynamic admin interface: it’s not just scaffolding – it’s the whole house…","html":"<h1>Django documentation contents<a class=\"heading-anchor\" href=\"#django-documentation-contents\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<div class=\"toctree-wrapper compound\">\n</div>\n<div class=\"toctree-wrapper compound\">\n<ul>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/en/5.2/intro/\">Getting started</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/intro/overview/\">Django at a glance</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/overview/#design-your-model\">Design your model</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/overview/#install-it\">Install it</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/overview/#enjoy-the-free-api\">Enjoy the free API</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/overview/#a-dynamic-admin-interface-it-s-not-just-scaffolding-it-s-the-whole-house\">A dynamic admin interface: it’s not just scaffolding – it’s the whole house</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/overview/#design-your-urls\">Design your URLs</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/overview/#write-your-views\">Write your views</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/overview/#design-your-templates\">Design your templates</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/overview/#this-is-just-the-surface\">This is just the surface</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/intro/install/\">Quick install guide</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/install/#install-python\">Install Python</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/install/#set-up-a-database\">Set up a database</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/install/#install-django\">Install Django</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/install/#verifying\">Verifying</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/install/#that-s-it\">That’s it!</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial01/\">Writing your first Django app, part 1</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial01/#creating-a-project\">Creating a project</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial01/#the-development-server\">The development server</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial01/#creating-the-polls-app\">Creating the Polls app</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial01/#write-your-first-view\">Write your first view</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial02/\">Writing your first Django app, part 2</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial02/#database-setup\">Database setup</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial02/#creating-models\">Creating models</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial02/#activating-models\">Activating models</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial02/#playing-with-the-api\">Playing with the API</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial02/#introducing-the-django-admin\">Introducing the Django Admin</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial03/\">Writing your first Django app, part 3</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial03/#overview\">Overview</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial03/#writing-more-views\">Writing more views</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial03/#write-views-that-actually-do-something\">Write views that actually do something</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial03/#raising-a-404-error\">Raising a 404 error</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial03/#use-the-template-system\">Use the template system</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial03/#removing-hardcoded-urls-in-templates\">Removing hardcoded URLs in templates</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial03/#namespacing-url-names\">Namespacing URL names</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial04/\">Writing your first Django app, part 4</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial04/#write-a-minimal-form\">Write a minimal form</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial04/#use-generic-views-less-code-is-better\">Use generic views: Less code is better</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial05/\">Writing your first Django app, part 5</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial05/#introducing-automated-testing\">Introducing automated testing</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial05/#basic-testing-strategies\">Basic testing strategies</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial05/#writing-our-first-test\">Writing our first test</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial05/#test-a-view\">Test a view</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial05/#when-testing-more-is-better\">When testing, more is better</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial05/#further-testing\">Further testing</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial05/#what-s-next\">What’s next?</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial06/\">Writing your first Django app, part 6</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial06/#customize-your-app-s-look-and-feel\">Customize your <em>app’s</em> look and feel</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial06/#adding-a-background-image\">Adding a background-image</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial07/\">Writing your first Django app, part 7</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial07/#customize-the-admin-form\">Customize the admin form</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial07/#adding-related-objects\">Adding related objects</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial07/#customize-the-admin-change-list\">Customize the admin change list</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial07/#customize-the-admin-look-and-feel\">Customize the admin look and feel</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial07/#customize-the-admin-index-page\">Customize the admin index page</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial08/\">Writing your first Django app, part 8</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial08/#installing-django-debug-toolbar\">Installing Django Debug Toolbar</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial08/#getting-help-from-others\">Getting help from others</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial08/#installing-other-third-party-packages\">Installing other third-party packages</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/tutorial08/#what-s-next\">What’s next?</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/intro/reusable-apps/\">Advanced tutorial: How to write reusable apps</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/reusable-apps/#reusability-matters\">Reusability matters</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/reusable-apps/#your-project-and-your-reusable-app\">Your project and your reusable app</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/reusable-apps/#installing-some-prerequisites\">Installing some prerequisites</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/reusable-apps/#packaging-your-app\">Packaging your app</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/reusable-apps/#using-your-own-package\">Using your own package</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/reusable-apps/#publishing-your-app\">Publishing your app</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/reusable-apps/#installing-python-packages-with-a-virtual-environment\">Installing Python packages with a virtual environment</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/intro/whatsnext/\">What to read next</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/whatsnext/#finding-documentation\">Finding documentation</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/whatsnext/#how-the-documentation-is-organized\">How the documentation is organized</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/whatsnext/#how-documentation-is-updated\">How documentation is updated</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/whatsnext/#where-to-get-it\">Where to get it</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/whatsnext/#differences-between-versions\">Differences between versions</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/intro/contributing/\">Writing your first contribution for Django</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/contributing/#introduction\">Introduction</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/contributing/#code-of-conduct\">Code of Conduct</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/contributing/#installing-git\">Installing Git</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/contributing/#getting-a-copy-of-django-s-development-version\">Getting a copy of Django’s development version</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/contributing/#running-django-s-test-suite-for-the-first-time\">Running Django’s test suite for the first time</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/contributing/#working-on-an-approved-new-feature\">Working on an approved new feature</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/contributing/#creating-a-branch\">Creating a branch</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/contributing/#writing-some-tests-for-your-ticket\">Writing some tests for your ticket</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/contributing/#writing-the-code-for-your-ticket\">Writing the code for your ticket</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/contributing/#running-django-s-test-suite-for-the-second-time\">Running Django’s test suite for the second time</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/contributing/#writing-documentation\">Writing Documentation</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/contributing/#previewing-your-changes\">Previewing your changes</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/contributing/#committing-the-changes\">Committing the changes</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/contributing/#pushing-the-commit-and-making-a-pull-request\">Pushing the commit and making a pull request</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/intro/contributing/#next-steps\">Next steps</a></li>\n</ul>\n</li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/en/5.2/topics/\">Using Django</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/topics/install/\">How to install Django</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/install/#install-python\">Install Python</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/install/#install-apache-and-mod-wsgi\">Install Apache and <code class=\"docutils literal notranslate\"><span class=\"pre\">mod_wsgi</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/install/#get-your-database-running\">Get your database running</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/install/#install-the-django-code\">Install the Django code</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/topics/db/\">Models and databases</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/db/models/\">Models</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/db/queries/\">Making queries</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/db/aggregation/\">Aggregation</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/db/search/\">Search</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/db/managers/\">Managers</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/db/sql/\">Performing raw SQL queries</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/db/transactions/\">Database transactions</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/db/multi-db/\">Multiple databases</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/db/tablespaces/\">Tablespaces</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/db/optimization/\">Database access optimization</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/db/instrumentation/\">Database instrumentation</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/db/fixtures/\">Fixtures</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/db/examples/\">Examples of model relationship API usage</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/topics/http/\">Handling HTTP requests</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/http/urls/\">URL dispatcher</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/http/views/\">Writing views</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/http/decorators/\">View decorators</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/http/file-uploads/\">File Uploads</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/http/shortcuts/\">Django shortcut functions</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/http/generic-views/\">Generic views</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/http/middleware/\">Middleware</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/http/sessions/\">How to use sessions</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/topics/forms/\">Working with forms</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/forms/#html-forms\">HTML forms</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/forms/#django-s-role-in-forms\">Django’s role in forms</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/forms/#forms-in-django\">Forms in Django</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/forms/#building-a-form\">Building a form</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/forms/#more-about-django-form-classes\">More about Django <code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Form</span></code> classes</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/forms/#working-with-form-templates\">Working with form templates</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/forms/#further-topics\">Further topics</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/topics/templates/\">Templates</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/templates/#the-django-template-language\">The Django template language</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/templates/#support-for-template-engines\">Support for template engines</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/topics/class-based-views/\">Class-based views</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/class-based-views/intro/\">Introduction to class-based views</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/class-based-views/generic-display/\">Built-in class-based generic views</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/class-based-views/generic-editing/\">Form handling with class-based views</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/class-based-views/mixins/\">Using mixins with class-based views</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/class-based-views/#basic-examples\">Basic examples</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/class-based-views/#usage-in-your-urlconf\">Usage in your URLconf</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/class-based-views/#subclassing-generic-views\">Subclassing generic views</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/class-based-views/#asynchronous-class-based-views\">Asynchronous class-based views</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/topics/migrations/\">Migrations</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/migrations/#the-commands\">The Commands</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/migrations/#backend-support\">Backend Support</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/migrations/#workflow\">Workflow</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/migrations/#transactions\">Transactions</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/migrations/#dependencies\">Dependencies</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/migrations/#migration-files\">Migration files</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/migrations/#adding-migrations-to-apps\">Adding migrations to apps</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/migrations/#reversing-migrations\">Reversing migrations</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/migrations/#historical-models\">Historical models</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/migrations/#considerations-when-removing-model-fields\">Considerations when removing model fields</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/migrations/#data-migrations\">Data Migrations</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/migrations/#squashing-migrations\">Squashing migrations</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/migrations/#serializing-values\">Serializing values</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/migrations/#supporting-multiple-django-versions\">Supporting multiple Django versions</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/topics/files/\">Managing files</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/files/#using-files-in-models\">Using files in models</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/files/#the-file-object\">The <code class=\"docutils literal notranslate\"><span class=\"pre\">File</span></code> object</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/files/#file-storage\">File storage</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/topics/testing/\">Testing in Django</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/testing/overview/\">Writing and running tests</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/testing/tools/\">Testing tools</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/testing/advanced/\">Advanced testing topics</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/topics/auth/\">User authentication in Django</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/auth/#overview\">Overview</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/auth/#installation\">Installation</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/auth/#usage\">Usage</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/topics/cache/\">Django’s cache framework</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/cache/#setting-up-the-cache\">Setting up the cache</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/cache/#the-per-site-cache\">The per-site cache</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/cache/#the-per-view-cache\">The per-view cache</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/cache/#template-fragment-caching\">Template fragment caching</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/cache/#the-low-level-cache-api\">The low-level cache API</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/cache/#asynchronous-support\">Asynchronous support</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/cache/#downstream-caches\">Downstream caches</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/cache/#using-vary-headers\">Using <code class=\"docutils literal notranslate\"><span class=\"pre\">Vary</span></code> headers</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/cache/#controlling-cache-using-other-headers\">Controlling cache: Using other headers</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/cache/#order-of-middleware\">Order of <code class=\"docutils literal notranslate\"><span class=\"pre\">MIDDLEWARE</span></code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/topics/conditional-view-processing/\">Conditional View Processing</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/conditional-view-processing/#the-condition-decorator\">The <code class=\"docutils literal notranslate\"><span class=\"pre\">condition</span></code> decorator</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/conditional-view-processing/#shortcuts-for-only-computing-one-value\">Shortcuts for only computing one value</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/conditional-view-processing/#using-the-decorators-with-other-http-methods\">Using the decorators with other HTTP methods</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/conditional-view-processing/#comparison-with-middleware-conditional-processing\">Comparison with middleware conditional processing</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/topics/composite-primary-key/\">Composite primary keys</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/composite-primary-key/#migrating-to-a-composite-primary-key\">Migrating to a composite primary key</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/composite-primary-key/#composite-primary-keys-and-relations\">Composite primary keys and relations</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/composite-primary-key/#composite-primary-keys-and-database-functions\">Composite primary keys and database functions</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/composite-primary-key/#composite-primary-keys-in-forms\">Composite primary keys in forms</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/composite-primary-key/#composite-primary-keys-in-model-validation\">Composite primary keys in model validation</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/composite-primary-key/#building-composite-primary-key-ready-applications\">Building composite primary key ready applications</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/topics/signing/\">Cryptographic signing</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/signing/#protecting-secret-key-and-secret-key-fallbacks\">Protecting <code class=\"docutils literal notranslate\"><span class=\"pre\">SECRET_KEY</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">SECRET_KEY_FALLBACKS</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/signing/#using-the-low-level-api\">Using the low-level API</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/topics/email/\">Sending email</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/email/#quick-examples\">Quick examples</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/email/#send-mail\"><code class=\"docutils literal notranslate\"><span class=\"pre\">send_mail()</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/email/#send-mass-mail\"><code class=\"docutils literal notranslate\"><span class=\"pre\">send_mass_mail()</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/email/#mail-admins\"><code class=\"docutils literal notranslate\"><span class=\"pre\">mail_admins()</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/email/#mail-managers\"><code class=\"docutils literal notranslate\"><span class=\"pre\">mail_managers()</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/email/#examples\">Examples</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/email/#preventing-header-injection\">Preventing header injection</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/email/#the-emailmessage-class\">The <code class=\"docutils literal notranslate\"><span class=\"pre\">EmailMessage</span></code> class</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/email/#email-backends\">Email backends</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/email/#configuring-email-for-development\">Configuring email for development</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/topics/i18n/\">Internationalization and localization</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/i18n/#overview\">Overview</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/i18n/#definitions\">Definitions</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/topics/logging/\">Logging</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/logging/#overview\">Overview</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/logging/#security-implications\">Security implications</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/logging/#configuring-logging\">Configuring logging</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/topics/pagination/\">Pagination</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/pagination/#the-paginator-class\">The <code class=\"docutils literal notranslate\"><span class=\"pre\">Paginator</span></code> class</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/pagination/#example\">Example</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/pagination/#paginating-a-listview\">Paginating a <code class=\"docutils literal notranslate\"><span class=\"pre\">ListView</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/pagination/#using-paginator-in-a-view-function\">Using <code class=\"docutils literal notranslate\"><span class=\"pre\">Paginator</span></code> in a view function</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/topics/security/\">Security in Django</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/security/#always-sanitize-user-input\">Always sanitize user input</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/security/#cross-site-scripting-xss-protection\">Cross site scripting (XSS) protection</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/security/#cross-site-request-forgery-csrf-protection\">Cross site request forgery (CSRF) protection</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/security/#sql-injection-protection\">SQL injection protection</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/security/#clickjacking-protection\">Clickjacking protection</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/security/#ssl-https\">SSL/HTTPS</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/security/#host-header-validation\">Host header validation</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/security/#referrer-policy\">Referrer policy</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/security/#cross-origin-opener-policy\">Cross-origin opener policy</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/security/#session-security\">Session security</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/security/#user-uploaded-content\">User-uploaded content</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/security/#additional-security-topics\">Additional security topics</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/topics/performance/\">Performance and optimization</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/performance/#introduction\">Introduction</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/performance/#general-approaches\">General approaches</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/performance/#caching\">Caching</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/performance/#understanding-laziness\">Understanding laziness</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/performance/#databases\">Databases</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/performance/#http-performance\">HTTP performance</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/performance/#template-performance\">Template performance</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/performance/#using-different-versions-of-available-software\">Using different versions of available software</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/topics/serialization/\">Serializing Django objects</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/serialization/#serializing-data\">Serializing data</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/serialization/#deserializing-data\">Deserializing data</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/serialization/#serialization-formats\">Serialization formats</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/serialization/#natural-keys\">Natural keys</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/topics/settings/\">Django settings</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/settings/#the-basics\">The basics</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/settings/#designating-the-settings\">Designating the settings</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/settings/#default-settings\">Default settings</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/settings/#using-settings-in-python-code\">Using settings in Python code</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/settings/#altering-settings-at-runtime\">Altering settings at runtime</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/settings/#security\">Security</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/settings/#available-settings\">Available settings</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/settings/#creating-your-own-settings\">Creating your own settings</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/settings/#using-settings-without-setting-django-settings-module\">Using settings without setting <code class=\"xref std std-envvar docutils literal notranslate\"><span class=\"pre\">DJANGO_SETTINGS_MODULE</span></code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/topics/signals/\">Signals</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/signals/#listening-to-signals\">Listening to signals</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/signals/#defining-and-sending-signals\">Defining and sending signals</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/signals/#disconnecting-signals\">Disconnecting signals</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/topics/checks/\">System check framework</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/checks/#writing-your-own-checks\">Writing your own checks</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/topics/external-packages/\">External packages</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/external-packages/#localflavor\">Localflavor</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/external-packages/#comments\">Comments</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/external-packages/#formtools\">Formtools</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/topics/async/\">Asynchronous support</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/async/#async-views\">Async views</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/async/#async-safety\">Async safety</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/topics/async/#async-adapter-functions\">Async adapter functions</a></li>\n</ul>\n</li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/en/5.2/howto/\">How-to guides</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/howto/#models-data-and-databases\">Models, data and databases</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/howto/initial-data/\">How to provide initial data for models</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/howto/legacy-databases/\">How to integrate Django with a legacy database</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/howto/custom-model-fields/\">How to create custom model fields</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/howto/writing-migrations/\">How to create database migrations</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/howto/custom-lookups/\">How to write custom lookups</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/howto/#templates-and-output\">Templates and output</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/howto/outputting-csv/\">How to create CSV output</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/howto/outputting-pdf/\">How to create PDF files</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/howto/overriding-templates/\">How to override templates</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/howto/custom-template-backend/\">How to implement a custom template backend</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/howto/custom-template-tags/\">How to create custom template tags and filters</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/howto/#project-configuration-and-management\">Project configuration and management</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/howto/static-files/\">How to manage static files (e.g. images, JavaScript, CSS)</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/howto/logging/\">How to configure and use logging</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/howto/error-reporting/\">How to manage error reporting</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/howto/delete-app/\">How to delete a Django application</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/howto/#installing-deploying-and-upgrading\">Installing, deploying and upgrading</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/howto/upgrade-version/\">How to upgrade Django to a newer version</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/howto/windows/\">How to install Django on Windows</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/howto/deployment/\">How to deploy Django</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/howto/static-files/deployment/\">How to deploy static files</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/howto/#other-guides\">Other guides</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/howto/auth-remote-user/\">How to authenticate using <code class=\"docutils literal notranslate\"><span class=\"pre\">REMOTE_USER</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/howto/csrf/\">How to use Django’s CSRF protection</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/howto/custom-file-storage/\">How to write a custom storage class</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/howto/custom-management-commands/\">How to create custom <code class=\"docutils literal notranslate\"><span class=\"pre\">django-admin</span></code> commands</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/howto/custom-shell/\">How to customize the <code class=\"docutils literal notranslate\"><span class=\"pre\">shell</span></code> command</a></li>\n</ul>\n</li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/en/5.2/faq/\">Django FAQ</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/faq/general/\">FAQ: General</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/general/#why-does-this-project-exist\">Why does this project exist?</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/general/#what-does-django-mean-and-how-do-you-pronounce-it\">What does “Django” mean, and how do you pronounce it?</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/general/#is-django-stable\">Is Django stable?</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/general/#does-django-scale\">Does Django scale?</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/general/#who-s-behind-this\">Who’s behind this?</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/general/#how-is-django-licensed\">How is Django licensed?</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/general/#why-does-django-include-python-s-license-file\">Why does Django include Python’s license file?</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/general/#which-sites-use-django\">Which sites use Django?</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/general/#django-appears-to-be-a-mvc-framework-but-you-call-the-controller-the-view-and-the-view-the-template-how-come-you-don-t-use-the-standard-names\">Django appears to be a MVC framework, but you call the Controller the “view”, and the View the “template”. How come you don’t use the standard names?</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/general/#framework-x-does-feature-y-why-doesn-t-django\">&lt;Framework X&gt; does &lt;feature Y&gt; – why doesn’t Django?</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/general/#why-did-you-write-all-of-django-from-scratch-instead-of-using-other-python-libraries\">Why did you write all of Django from scratch, instead of using other Python libraries?</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/general/#is-django-a-content-management-system-cms\">Is Django a content-management-system (CMS)?</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/general/#how-can-i-download-the-django-documentation-to-read-it-offline\">How can I download the Django documentation to read it offline?</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/general/#how-do-i-cite-django\">How do I cite Django?</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/general/#where-can-i-find-more-django-resources\">Where can I find more Django resources?</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/faq/install/\">FAQ: Installation</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/install/#how-do-i-get-started\">How do I get started?</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/install/#what-are-django-s-prerequisites\">What are Django’s prerequisites?</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/install/#what-python-version-can-i-use-with-django\">What Python version can I use with Django?</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/install/#what-python-version-should-i-use-with-django\">What Python version should I use with Django?</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/install/#should-i-use-the-stable-version-or-development-version\">Should I use the stable version or development version?</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/faq/usage/\">FAQ: Using Django</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/usage/#why-do-i-get-an-error-about-importing-django-settings-module\">Why do I get an error about importing <code class=\"xref std std-envvar docutils literal notranslate\"><span class=\"pre\">DJANGO_SETTINGS_MODULE</span></code>?</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/usage/#i-can-t-stand-your-template-language-do-i-have-to-use-it\">I can’t stand your template language. Do I have to use it?</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/usage/#do-i-have-to-use-your-model-database-layer\">Do I have to use your model/database layer?</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/usage/#how-do-i-use-image-and-file-fields\">How do I use image and file fields?</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/usage/#how-do-i-make-a-variable-available-to-all-my-templates\">How do I make a variable available to all my templates?</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/faq/help/\">FAQ: Getting Help</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/help/#how-do-i-do-x-why-doesn-t-y-work-where-can-i-go-to-get-help\">How do I do X? Why doesn’t Y work? Where can I go to get help?</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/help/#nobody-answered-my-question-what-should-i-do\">Nobody answered my question! What should I do?</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/help/#i-think-i-ve-found-a-bug-what-should-i-do\">I think I’ve found a bug! What should I do?</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/help/#i-think-i-ve-found-a-security-problem-what-should-i-do\">I think I’ve found a security problem! What should I do?</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/faq/models/\">FAQ: Databases and models</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/models/#how-can-i-see-the-raw-sql-queries-django-is-running\">How can I see the raw SQL queries Django is running?</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/models/#can-i-use-django-with-a-preexisting-database\">Can I use Django with a preexisting database?</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/models/#if-i-make-changes-to-a-model-how-do-i-update-the-database\">If I make changes to a model, how do I update the database?</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/models/#do-django-models-support-multiple-column-primary-keys\">Do Django models support multiple-column primary keys?</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/models/#does-django-support-nosql-databases\">Does Django support NoSQL databases?</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/models/#how-do-i-add-database-specific-options-to-my-create-table-statements-such-as-specifying-myisam-as-the-table-type\">How do I add database-specific options to my CREATE TABLE statements, such as specifying MyISAM as the table type?</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/faq/admin/\">FAQ: The admin</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/admin/#i-can-t-log-in-when-i-enter-a-valid-username-and-password-it-just-brings-up-the-login-page-again-with-no-error-messages\">I can’t log in. When I enter a valid username and password, it just brings up the login page again, with no error messages.</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/admin/#i-can-t-log-in-when-i-enter-a-valid-username-and-password-it-brings-up-the-login-page-again-with-a-please-enter-a-correct-username-and-password-error\">I can’t log in. When I enter a valid username and password, it brings up the login page again, with a “Please enter a correct username and password” error.</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/admin/#how-do-i-automatically-set-a-field-s-value-to-the-user-who-last-edited-the-object-in-the-admin\">How do I automatically set a field’s value to the user who last edited the object in the admin?</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/admin/#how-do-i-limit-admin-access-so-that-objects-can-only-be-edited-by-the-users-who-created-them\">How do I limit admin access so that objects can only be edited by the users who created them?</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/admin/#my-admin-site-css-and-images-showed-up-fine-using-the-development-server-but-they-re-not-displaying-when-using-mod-wsgi\">My admin-site CSS and images showed up fine using the development server, but they’re not displaying when using mod_wsgi.</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/admin/#my-list-filter-contains-a-manytomanyfield-but-the-filter-doesn-t-display\">My “list_filter” contains a ManyToManyField, but the filter doesn’t display.</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/admin/#some-objects-aren-t-appearing-in-the-admin\">Some objects aren’t appearing in the admin.</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/admin/#how-can-i-customize-the-functionality-of-the-admin-interface\">How can I customize the functionality of the admin interface?</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/admin/#the-dynamically-generated-admin-site-is-ugly-how-can-i-change-it\">The dynamically-generated admin site is ugly! How can I change it?</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/admin/#what-browsers-are-supported-for-using-the-admin\">What browsers are supported for using the admin?</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/admin/#what-assistive-technologies-are-supported-for-using-the-admin\">What assistive technologies are supported for using the admin?</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/faq/contributing/\">FAQ: Contributing code</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/contributing/#how-can-i-get-started-contributing-code-to-django\">How can I get started contributing code to Django?</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/contributing/#i-submitted-a-bug-fix-several-weeks-ago-why-are-you-ignoring-my-contribution\">I submitted a bug fix several weeks ago. Why are you ignoring my contribution?</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/contributing/#when-and-how-might-i-remind-the-team-of-a-change-i-care-about\">When and how might I remind the team of a change I care about?</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/contributing/#but-i-ve-reminded-you-several-times-and-you-keep-ignoring-my-contribution\">But I’ve reminded you several times and you keep ignoring my contribution!</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/contributing/#i-m-sure-my-ticket-is-absolutely-100-perfect-can-i-mark-it-as-ready-for-checkin-myself\">I’m sure my ticket is absolutely 100% perfect, can I mark it as “Ready For Checkin” myself?</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/faq/troubleshooting/\">Troubleshooting</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/troubleshooting/#problems-running-django-admin\">Problems running <code class=\"docutils literal notranslate\"><span class=\"pre\">django-admin</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/faq/troubleshooting/#miscellaneous\">Miscellaneous</a></li>\n</ul>\n</li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/en/5.2/ref/\">API Reference</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/ref/applications/\">Applications</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/applications/#projects-and-applications\">Projects and applications</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/applications/#configuring-applications\">Configuring applications</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/applications/#application-configuration\">Application configuration</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/applications/#application-registry\">Application registry</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/applications/#initialization-process\">Initialization process</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/ref/checks/\">System check framework</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/checks/#api-reference\">API reference</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/checks/#builtin-tags\">Builtin tags</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/checks/#core-system-checks\">Core system checks</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/checks/#contrib-app-checks\"><code class=\"docutils literal notranslate\"><span class=\"pre\">contrib</span></code> app checks</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/ref/class-based-views/\">Built-in class-based views API</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/class-based-views/base/\">Base views</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/class-based-views/generic-display/\">Generic display views</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/class-based-views/generic-editing/\">Generic editing views</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/class-based-views/generic-date-based/\">Generic date views</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/class-based-views/mixins/\">Class-based views mixins</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/class-based-views/flattened-index/\">Class-based generic views - flattened index</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/class-based-views/#specification\">Specification</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/class-based-views/#base-vs-generic-views\">Base vs Generic views</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/ref/clickjacking/\">Clickjacking Protection</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/clickjacking/#an-example-of-clickjacking\">An example of clickjacking</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/clickjacking/#preventing-clickjacking\">Preventing clickjacking</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/clickjacking/#how-to-use-it\">How to use it</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/clickjacking/#limitations\">Limitations</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/ref/contrib/\"><code class=\"docutils literal notranslate\"><span class=\"pre\">contrib</span></code> packages</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/contrib/admin/\">The Django admin site</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/contrib/auth/\"><code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.auth</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/contrib/contenttypes/\">The contenttypes framework</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/contrib/flatpages/\">The flatpages app</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/contrib/gis/\">GeoDjango</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/contrib/humanize/\"><code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.humanize</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/contrib/messages/\">The messages framework</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/contrib/postgres/\"><code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.postgres</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/contrib/redirects/\">The redirects app</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/contrib/sitemaps/\">The sitemap framework</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/contrib/sites/\">The “sites” framework</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/contrib/staticfiles/\">The <code class=\"docutils literal notranslate\"><span class=\"pre\">staticfiles</span></code> app</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/contrib/syndication/\">The syndication feed framework</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/contrib/#admin\"><code class=\"docutils literal notranslate\"><span class=\"pre\">admin</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/contrib/#auth\"><code class=\"docutils literal notranslate\"><span class=\"pre\">auth</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/contrib/#contenttypes\"><code class=\"docutils literal notranslate\"><span class=\"pre\">contenttypes</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/contrib/#flatpages\"><code class=\"docutils literal notranslate\"><span class=\"pre\">flatpages</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/contrib/#gis\"><code class=\"docutils literal notranslate\"><span class=\"pre\">gis</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/contrib/#humanize\"><code class=\"docutils literal notranslate\"><span class=\"pre\">humanize</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/contrib/#messages\"><code class=\"docutils literal notranslate\"><span class=\"pre\">messages</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/contrib/#postgres\"><code class=\"docutils literal notranslate\"><span class=\"pre\">postgres</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/contrib/#redirects\"><code class=\"docutils literal notranslate\"><span class=\"pre\">redirects</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/contrib/#sessions\"><code class=\"docutils literal notranslate\"><span class=\"pre\">sessions</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/contrib/#sites\"><code class=\"docutils literal notranslate\"><span class=\"pre\">sites</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/contrib/#sitemaps\"><code class=\"docutils literal notranslate\"><span class=\"pre\">sitemaps</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/contrib/#syndication\"><code class=\"docutils literal notranslate\"><span class=\"pre\">syndication</span></code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/ref/csrf/\">Cross Site Request Forgery protection</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/csrf/#how-it-works\">How it works</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/csrf/#limitations\">Limitations</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/csrf/#module-django.views.decorators.csrf\">Utilities</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/csrf/#settings\">Settings</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/csrf/#frequently-asked-questions\">Frequently Asked Questions</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/ref/databases/\">Databases</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/databases/#general-notes\">General notes</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/databases/#postgresql-notes\">PostgreSQL notes</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/databases/#mariadb-notes\">MariaDB notes</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/databases/#mysql-notes\">MySQL notes</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/databases/#sqlite-notes\">SQLite notes</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/databases/#oracle-notes\">Oracle notes</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/databases/#subclassing-the-built-in-database-backends\">Subclassing the built-in database backends</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/databases/#using-a-3rd-party-database-backend\">Using a 3rd-party database backend</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/ref/django-admin/\"><code class=\"docutils literal notranslate\"><span class=\"pre\">django-admin</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">manage.py</span></code></a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/django-admin/#usage\">Usage</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/django-admin/#available-commands\">Available commands</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/django-admin/#commands-provided-by-applications\">Commands provided by applications</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/django-admin/#default-options\">Default options</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/django-admin/#extra-niceties\">Extra niceties</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/ref/django-admin/#running-management-commands-from-your-code\">Running management commands from your code</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/django-admin/#output-redirection\">Output redirection</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/ref/exceptions/\">Django Exceptions</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/exceptions/#module-django.core.exceptions\">Django Core Exceptions</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/exceptions/#url-resolver-exceptions\">URL Resolver exceptions</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/exceptions/#database-exceptions\">Database Exceptions</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/exceptions/#http-exceptions\">HTTP Exceptions</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/exceptions/#sessions-exceptions\">Sessions Exceptions</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/exceptions/#transaction-exceptions\">Transaction Exceptions</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/exceptions/#testing-framework-exceptions\">Testing Framework Exceptions</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/exceptions/#python-exceptions\">Python Exceptions</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/ref/files/\">File handling</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/files/file/\">The <code class=\"docutils literal notranslate\"><span class=\"pre\">File</span></code> object</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/files/storage/\">File storage API</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/files/uploads/\">Uploaded Files and Upload Handlers</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/ref/forms/\">Forms</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/forms/api/\">The Forms API</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/forms/fields/\">Form fields</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/forms/models/\">Model forms</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/forms/formsets/\">Formset Functions</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/forms/renderers/\">The form rendering API</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/forms/widgets/\">Widgets</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/forms/validation/\">Form and field validation</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/ref/logging/\">Logging</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/logging/#django-s-default-logging-configuration\">Django’s default logging configuration</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/logging/#django-logging-extensions\">Django logging extensions</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/ref/middleware/\">Middleware</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/middleware/#available-middleware\">Available middleware</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/middleware/#middleware-ordering\">Middleware ordering</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/ref/migration-operations/\">Migration Operations</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/migration-operations/#schema-operations\">Schema Operations</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/migration-operations/#special-operations\">Special Operations</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/migration-operations/#operation-category\">Operation category</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/migration-operations/#writing-your-own\">Writing your own</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/ref/models/\">Models</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/models/fields/\">Model field reference</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/models/fields/#field-attribute-reference\">Field attribute reference</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/models/indexes/\">Model index reference</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/models/constraints/\">Constraints reference</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/models/meta/\">Model <code class=\"docutils literal notranslate\"><span class=\"pre\">_meta</span></code> API</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/models/relations/\">Related objects reference</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/models/class/\">Model class reference</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/models/options/\">Model <code class=\"docutils literal notranslate\"><span class=\"pre\">Meta</span></code> options</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/models/instances/\">Model instance reference</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/models/querysets/\"><code class=\"docutils literal notranslate\"><span class=\"pre\">QuerySet</span></code> API reference</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/models/lookups/\">Lookup API reference</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/models/expressions/\">Query Expressions</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/models/conditional-expressions/\">Conditional Expressions</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/models/database-functions/\">Database Functions</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/ref/paginator/\">Paginator</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/paginator/#paginator-class\"><code class=\"docutils literal notranslate\"><span class=\"pre\">Paginator</span></code> class</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/paginator/#page-class\"><code class=\"docutils literal notranslate\"><span class=\"pre\">Page</span></code> class</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/paginator/#exceptions\">Exceptions</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/ref/request-response/\">Request and response objects</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/request-response/#quick-overview\">Quick overview</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/request-response/#httprequest-objects\"><code class=\"docutils literal notranslate\"><span class=\"pre\">HttpRequest</span></code> objects</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/request-response/#querydict-objects\"><code class=\"docutils literal notranslate\"><span class=\"pre\">QueryDict</span></code> objects</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/request-response/#httpresponse-objects\"><code class=\"docutils literal notranslate\"><span class=\"pre\">HttpResponse</span></code> objects</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/request-response/#jsonresponse-objects\"><code class=\"docutils literal notranslate\"><span class=\"pre\">JsonResponse</span></code> objects</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/request-response/#streaminghttpresponse-objects\"><code class=\"docutils literal notranslate\"><span class=\"pre\">StreamingHttpResponse</span></code> objects</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/request-response/#fileresponse-objects\"><code class=\"docutils literal notranslate\"><span class=\"pre\">FileResponse</span></code> objects</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/request-response/#httpresponsebase-class\"><code class=\"docutils literal notranslate\"><span class=\"pre\">HttpResponseBase</span></code> class</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/ref/schema-editor/\"><code class=\"docutils literal notranslate\"><span class=\"pre\">SchemaEditor</span></code></a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/schema-editor/#methods\">Methods</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/schema-editor/#attributes\">Attributes</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/ref/settings/\">Settings</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/settings/#core-settings\">Core Settings</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/settings/#auth\">Auth</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/settings/#messages\">Messages</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/settings/#sessions\">Sessions</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/settings/#sites\">Sites</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/settings/#static-files\">Static Files</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/settings/#core-settings-topical-index\">Core Settings Topical Index</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/ref/signals/\">Signals</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/signals/#module-django.db.models.signals\">Model signals</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/signals/#management-signals\">Management signals</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/signals/#module-django.core.signals\">Request/response signals</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/signals/#module-django.test.signals\">Test signals</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/signals/#module-django.db.backends\">Database Wrappers</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/ref/templates/\">Templates</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/templates/language/\">The Django template language</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/templates/builtins/\">Built-in template tags and filters</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/templates/api/\">The Django template language: for Python programmers</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/ref/template-response/\"><code class=\"docutils literal notranslate\"><span class=\"pre\">TemplateResponse</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">SimpleTemplateResponse</span></code></a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/template-response/#simpletemplateresponse-objects\"><code class=\"docutils literal notranslate\"><span class=\"pre\">SimpleTemplateResponse</span></code> objects</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/template-response/#templateresponse-objects\"><code class=\"docutils literal notranslate\"><span class=\"pre\">TemplateResponse</span></code> objects</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/template-response/#the-rendering-process\">The rendering process</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/template-response/#using-templateresponse-and-simpletemplateresponse\">Using <code class=\"docutils literal notranslate\"><span class=\"pre\">TemplateResponse</span></code> and <code class=\"docutils literal notranslate\"><span class=\"pre\">SimpleTemplateResponse</span></code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/ref/unicode/\">Unicode data</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/unicode/#creating-the-database\">Creating the database</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/unicode/#general-string-handling\">General string handling</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/unicode/#models\">Models</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/unicode/#templates\">Templates</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/unicode/#files\">Files</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/unicode/#form-submission\">Form submission</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/ref/urlresolvers/\"><code class=\"docutils literal notranslate\"><span class=\"pre\">django.urls</span></code> utility functions</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/urlresolvers/#reverse\"><code class=\"docutils literal notranslate\"><span class=\"pre\">reverse()</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/urlresolvers/#reverse-lazy\"><code class=\"docutils literal notranslate\"><span class=\"pre\">reverse_lazy()</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/urlresolvers/#resolve\"><code class=\"docutils literal notranslate\"><span class=\"pre\">resolve()</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/urlresolvers/#get-script-prefix\"><code class=\"docutils literal notranslate\"><span class=\"pre\">get_script_prefix()</span></code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/ref/urls/\"><code class=\"docutils literal notranslate\"><span class=\"pre\">django.urls</span></code> functions for use in URLconfs</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/urls/#path\"><code class=\"docutils literal notranslate\"><span class=\"pre\">path()</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/urls/#re-path\"><code class=\"docutils literal notranslate\"><span class=\"pre\">re_path()</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/urls/#include\"><code class=\"docutils literal notranslate\"><span class=\"pre\">include()</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/urls/#register-converter\"><code class=\"docutils literal notranslate\"><span class=\"pre\">register_converter()</span></code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/ref/urls/#module-django.conf.urls\"><code class=\"docutils literal notranslate\"><span class=\"pre\">django.conf.urls</span></code> functions for use in URLconfs</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/urls/#static\"><code class=\"docutils literal notranslate\"><span class=\"pre\">static()</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/urls/#handler400\"><code class=\"docutils literal notranslate\"><span class=\"pre\">handler400</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/urls/#handler403\"><code class=\"docutils literal notranslate\"><span class=\"pre\">handler403</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/urls/#handler404\"><code class=\"docutils literal notranslate\"><span class=\"pre\">handler404</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/urls/#handler500\"><code class=\"docutils literal notranslate\"><span class=\"pre\">handler500</span></code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/ref/utils/\">Django Utils</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/utils/#module-django.utils.cache\"><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.cache</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/utils/#module-django.utils.dateparse\"><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.dateparse</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/utils/#module-django.utils.decorators\"><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.decorators</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/utils/#module-django.utils.encoding\"><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.encoding</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/utils/#module-django.utils.feedgenerator\"><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.feedgenerator</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/utils/#module-django.utils.functional\"><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.functional</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/utils/#module-django.utils.html\"><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.html</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/utils/#module-django.utils.http\"><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.http</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/utils/#module-django.utils.module_loading\"><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.module_loading</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/utils/#module-django.utils.safestring\"><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.safestring</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/utils/#module-django.utils.text\"><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.text</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/utils/#module-django.utils.timezone\"><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.timezone</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/utils/#module-django.utils.translation\"><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.translation</span></code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/ref/validators/\">Validators</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/validators/#writing-validators\">Writing validators</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/validators/#how-validators-are-run\">How validators are run</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/validators/#built-in-validators\">Built-in validators</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/ref/views/\">Built-in Views</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/views/#serving-files-in-development\">Serving files in development</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/ref/views/#error-views\">Error views</a></li>\n</ul>\n</li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/en/5.2/misc/\">Meta-documentation and miscellany</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/misc/api-stability/\">API stability</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/misc/api-stability/#what-stable-means\">What “stable” means</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/misc/api-stability/#stable-apis\">Stable APIs</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/misc/api-stability/#exceptions\">Exceptions</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/misc/design-philosophies/\">Design philosophies</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/misc/design-philosophies/#overall\">Overall</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/misc/design-philosophies/#models\">Models</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/misc/design-philosophies/#database-api\">Database API</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/misc/design-philosophies/#url-design\">URL design</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/misc/design-philosophies/#template-system\">Template system</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/misc/design-philosophies/#views\">Views</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/misc/design-philosophies/#cache-framework\">Cache Framework</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/misc/distributions/\">Third-party distributions of Django</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/misc/distributions/#for-distributors\">For distributors</a></li>\n</ul>\n</li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/en/5.2/glossary/\">Glossary</a></li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/en/5.2/releases/\">Release notes</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/releases/#final-releases\">Final releases</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/releases/#release\">5.2 release</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/releases/#id1\">5.1 release</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/releases/#id2\">5.0 release</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/releases/#id3\">4.2 release</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/releases/#id4\">4.1 release</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/releases/#id5\">4.0 release</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/releases/#id6\">3.2 release</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/releases/#id7\">3.1 release</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/releases/#id8\">3.0 release</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/releases/#id9\">2.2 release</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/releases/#id10\">2.1 release</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/releases/#id11\">2.0 release</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/releases/#id12\">1.11 release</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/releases/#id13\">1.10 release</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/releases/#id14\">1.9 release</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/releases/#id15\">1.8 release</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/releases/#id16\">1.7 release</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/releases/#id17\">1.6 release</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/releases/#id18\">1.5 release</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/releases/#id19\">1.4 release</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/releases/#id20\">1.3 release</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/releases/#id21\">1.2 release</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/releases/#id22\">1.1 release</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/releases/#id23\">1.0 release</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/releases/#pre-1-0-releases\">Pre-1.0 releases</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/releases/#security-releases\">Security releases</a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/en/5.2/internals/\">Django internals</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/internals/contributing/\">Contributing to Django</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/contributing/#communication-channels\">Communication channels</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/contributing/#getting-started\">Getting started</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/contributing/#work-on-the-django-framework\">Work on the Django framework</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/contributing/#other-ways-of-contributing\">Other ways of contributing</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/internals/mailing-lists/\">Mailing lists and Forum</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/mailing-lists/#django-forum\">Django Forum</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/mailing-lists/#django-announce\"><code class=\"docutils literal notranslate\"><span class=\"pre\">django-announce</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/mailing-lists/#django-updates\"><code class=\"docutils literal notranslate\"><span class=\"pre\">django-updates</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/mailing-lists/#archived-mailing-lists\">Archived mailing lists</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/internals/organization/\">Organization of the Django Project</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/organization/#principles\">Principles</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/organization/#mergers\">Mergers</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/organization/#releasers\">Releasers</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/organization/#steering-council\">Steering council</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/organization/#changing-the-organization\">Changing the organization</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/internals/security/\">Django’s security policies</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/security/#reporting-security-issues\">Reporting security issues</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/security/#how-does-django-evaluate-a-report\">How does Django evaluate a report</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/security/#supported-versions\">Supported versions</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/security/#security-issue-severity-levels\">Security issue severity levels</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/security/#how-django-discloses-security-issues\">How Django discloses security issues</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/security/#who-receives-advance-notification\">Who receives advance notification</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/security/#requesting-notifications\">Requesting notifications</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/internals/release-process/\">Django’s release process</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/release-process/#official-releases\">Official releases</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/release-process/#release-cadence\">Release cadence</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/release-process/#deprecation-policy\">Deprecation policy</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/release-process/#supported-versions\">Supported versions</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/release-process/#release-process\">Release process</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/internals/deprecation/\">Django Deprecation Timeline</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/deprecation/#deprecation-removed-in-6-1\">6.1</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/deprecation/#deprecation-removed-in-6-0\">6.0</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/deprecation/#deprecation-removed-in-5-1\">5.1</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/deprecation/#deprecation-removed-in-5-0\">5.0</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/deprecation/#deprecation-removed-in-4-1\">4.1</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/deprecation/#deprecation-removed-in-4-0\">4.0</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/deprecation/#deprecation-removed-in-3-1\">3.1</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/deprecation/#deprecation-removed-in-3-0\">3.0</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/deprecation/#deprecation-removed-in-2-1\">2.1</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/deprecation/#deprecation-removed-in-2-0\">2.0</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/deprecation/#deprecation-removed-in-1-10\">1.10</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/deprecation/#deprecation-removed-in-1-9\">1.9</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/deprecation/#deprecation-removed-in-1-8\">1.8</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/deprecation/#deprecation-removed-in-1-7\">1.7</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/deprecation/#deprecation-removed-in-1-6\">1.6</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/deprecation/#deprecation-removed-in-1-5\">1.5</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/deprecation/#deprecation-removed-in-1-4\">1.4</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/deprecation/#deprecation-removed-in-1-3\">1.3</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/internals/git/\">The Django source code repository</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/git/#high-level-overview\">High-level overview</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/git/#the-main-branch\">The main branch</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/git/#stable-branches\">Stable branches</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/git/#id1\">Tags</a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/en/5.2/internals/howto-release-django/\">How to release Django</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/howto-release-django/#overview\">Overview</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/howto-release-django/#prerequisites\">Prerequisites</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/howto-release-django/#pre-release-tasks\">Pre-release tasks</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/howto-release-django/#feature-freeze-tasks\">Feature freeze tasks</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/howto-release-django/#actually-rolling-the-release\">Actually rolling the release</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/howto-release-django/#making-the-release-s-available-to-the-public\">Making the release(s) available to the public</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/howto-release-django/#post-release\">Post-release</a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/en/5.2/internals/howto-release-django/#notes-on-setting-the-version-tuple\">Notes on setting the VERSION tuple</a></li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</div>\n<section id=\"indices-glossary-and-tables\">\n<h2>Indices, glossary and tables<a class=\"heading-anchor\" href=\"#indices-glossary-and-tables\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/en/5.2/genindex/\"><span class=\"std std-ref\">Index</span></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/5.2/py-modindex/\"><span class=\"std std-ref\">Module Index</span></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/5.2/glossary/\"><span class=\"doc\">Glossary</span></a></p></li>\n</ul>\n</section>","rootId":"django-documentation-contents","toc":[{"title":"Indices, glossary and tables","anchor":"indices-glossary-and-tables","children":[]}],"breadcrumbs":[],"prev":null,"next":{"docname":"index","title":"Django documentation","url":"/en/5.2/"},"formats":{"html":"/en/5.2/contents/","markdown":"/en/5.2/contents.md","json":"/en/5.2/contents.json"},"source":"https://github.com/django/django/blob/stable/5.2.x/docs/contents.txt","official":"https://docs.djangoproject.com/en/5.2/contents/","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"]}