{"title":"How-to guides","version":"dev","locale":"en","docname":"howto/index","url":"/en/dev/howto/","canonical":"https://djangodocs.dev/en/dev/howto/","summary":"Practical guides covering common tasks and problems. Models, data and databases Link to this heading # How to provide initial data for models How to integrate…","html":"<h1>How-to guides<a class=\"heading-anchor\" href=\"#how-to-guides\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Practical guides covering common tasks and problems.</p>\n<section id=\"models-data-and-databases\">\n<h2>Models, data and databases<a class=\"heading-anchor\" href=\"#models-data-and-databases\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<div class=\"toctree-wrapper compound\">\n<ul>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/en/dev/howto/initial-data/\">How to provide initial data for models</a></li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/en/dev/howto/legacy-databases/\">How to integrate Django with a legacy database</a></li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/en/dev/howto/custom-model-fields/\">How to create custom model fields</a></li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/en/dev/howto/writing-migrations/\">How to create database migrations</a></li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/en/dev/howto/custom-lookups/\">How to write custom lookups</a></li>\n</ul>\n</div>\n</section>\n<section id=\"templates-and-output\">\n<h2>Templates and output<a class=\"heading-anchor\" href=\"#templates-and-output\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<div class=\"toctree-wrapper compound\">\n<ul>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/en/dev/howto/outputting-csv/\">How to create CSV output</a></li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/en/dev/howto/outputting-pdf/\">How to create PDF files</a></li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/en/dev/howto/overriding-templates/\">How to override templates</a></li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/en/dev/howto/custom-template-backend/\">How to implement a custom template backend</a></li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/en/dev/howto/custom-template-tags/\">How to create custom template tags and filters</a></li>\n</ul>\n</div>\n</section>\n<section id=\"project-configuration-and-management\">\n<h2>Project configuration and management<a class=\"heading-anchor\" href=\"#project-configuration-and-management\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<div class=\"toctree-wrapper compound\">\n<ul>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/en/dev/howto/static-files/\">How to manage static files (e.g. images, JavaScript, CSS)</a></li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/en/dev/howto/logging/\">How to configure and use logging</a></li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/en/dev/howto/error-reporting/\">How to manage error reporting</a></li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/en/dev/howto/delete-app/\">How to delete a Django application</a></li>\n</ul>\n</div>\n</section>\n<section id=\"installing-deploying-and-upgrading\">\n<h2>Installing, deploying and upgrading<a class=\"heading-anchor\" href=\"#installing-deploying-and-upgrading\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<div class=\"toctree-wrapper compound\">\n<ul>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/en/dev/howto/upgrade-version/\">How to upgrade Django to a newer version</a></li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/en/dev/howto/windows/\">How to install Django on Windows</a></li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/en/dev/howto/deployment/\">How to deploy Django</a></li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/en/dev/howto/static-files/deployment/\">How to deploy static files</a></li>\n</ul>\n</div>\n</section>\n<section id=\"other-guides\">\n<h2>Other guides<a class=\"heading-anchor\" href=\"#other-guides\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<div class=\"toctree-wrapper compound\">\n<ul>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/en/dev/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-l1\"><a class=\"reference internal\" href=\"/en/dev/howto/csp/\">How to use Django’s Content Security Policy</a></li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/en/dev/howto/csrf/\">How to use Django’s CSRF protection</a></li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/en/dev/howto/custom-file-storage/\">How to write a custom storage class</a></li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/en/dev/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-l1\"><a class=\"reference internal\" href=\"/en/dev/howto/custom-shell/\">How to customize the <code class=\"docutils literal notranslate\"><span class=\"pre\">shell</span></code> command</a></li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/en/dev/howto/mailers-migration/\">Migrating email to mailers</a></li>\n</ul>\n</div>\n<aside class=\"admonition admonition-seealso\">\n<p class=\"admonition-title\">See also</p>\n<p>The <a class=\"reference external\" href=\"https://www.djangoproject.com/community/\">Django community aggregator</a>, where we aggregate content from the\nglobal Django community. Many writers in the aggregator write this sort of\nhow-to material.</p>\n</aside>\n</section>","rootId":"how-to-guides","toc":[{"title":"Models, data and databases","anchor":"models-data-and-databases","children":[]},{"title":"Templates and output","anchor":"templates-and-output","children":[]},{"title":"Project configuration and management","anchor":"project-configuration-and-management","children":[]},{"title":"Installing, deploying and upgrading","anchor":"installing-deploying-and-upgrading","children":[]},{"title":"Other guides","anchor":"other-guides","children":[]}],"breadcrumbs":[],"prev":{"docname":"topics/tasks","title":"Django’s Tasks framework","url":"/en/dev/topics/tasks/"},"next":{"docname":"howto/initial-data","title":"How to provide initial data for models","url":"/en/dev/howto/initial-data/"},"formats":{"html":"/en/dev/howto/","markdown":"/en/dev/howto.md","json":"/en/dev/howto.json"},"source":"https://github.com/django/django/blob/main/docs/howto/index.txt","official":"https://docs.djangoproject.com/en/dev/howto/","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"]}