{"title":"문서 작성하기","version":"6.1","locale":"ko","docname":"internals/contributing/writing-documentation","url":"/ko/6.1/internals/contributing/writing-documentation/","canonical":"https://djangodocs.dev/ko/6.1/internals/contributing/writing-documentation/","summary":"우리는 문서의 일관성과 가독성을 매우 중요하게 여깁니다. Django는 저널리즘 환경에서 만들어졌기 때문입니다! 그래서 문서를 코드처럼 다루고, 가능한 한 자주 개선하려고 합니다. 문서 변경은 다음 두 가지 형태로 이뤄집니다. 일반적인 개선: 오탈자 수정, 명료한 문장과 더 많은 예제를 통한…","html":"<h1>문서 작성하기<a class=\"heading-anchor\" href=\"#writing-documentation\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>우리는 문서의 일관성과 가독성을 매우 중요하게 여깁니다. Django는 저널리즘 환경에서 만들어졌기 때문입니다! 그래서 문서를 코드처럼 다루고, 가능한 한 자주 개선하려고 합니다.</p>\n<p>문서 변경은 다음 두 가지 형태로 이뤄집니다.</p>\n<ul class=\"simple\">\n<li><p>일반적인 개선: 오탈자 수정, 명료한 문장과 더 많은 예제를 통한 오류 수정 및 예제 개선.</p></li>\n<li><p>새로운 기능: 최종 릴리스 이후에 프레임워크에 추가된 기능에 대한 문서화.</p></li>\n</ul>\n<p>이 절에서는 저자들이 어떻게 유용하고도 오류를 적게 일으키는 방식으로 문서 변경을 다루는지 설명합니다.</p>\n<section id=\"the-django-documentation-process\">\n<h2>Django 문서 작성 과정<a class=\"heading-anchor\" href=\"#the-django-documentation-process\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Django 문서는 <a class=\"reference external\" href=\"https://docs.djangoproject.com\">https://docs.djangoproject.com</a>/에서 HTML로 제공되지만, 최대한의 유연성을 위해 reStructuredText 마크업 언어로 작성된 일반 텍스트 파일 모음으로 편집합니다.</p>\n<p>우리는 저장소의 개발 버전에서 작업합니다. 해당 버전에는 최신 문서가 포함되어 있고, 코드도 마찬가지로 최신 상태이기 때문입니다.</p>\n<p>문서 수정과 개선 사항도 머저의 재량에 따라 마지막 릴리스 브랜치에 백포트됩니다. 이는 마지막 릴리스의 문서를 최신 상태이면서 정확하게 유지하는 것이 유리하기 때문입니다(<a class=\"reference internal\" href=\"/ko/6.1/intro/whatsnext/#differences-between-doc-versions\"><span class=\"std std-ref\">버전 간 차이점</span></a> 참고).</p>\n<p>Django 문서는 <a href=\"#id6\"><span class=\"problematic\" id=\"id7\">docutils__</span></a>를 기반으로 하는 <a href=\"#id6\"><span class=\"problematic\" id=\"id8\">Sphinx__</span></a> 문서화 시스템을 사용합니다. Sphinx는 가벼운 형식의 일반 텍스트 문서를 HTML, PDF, 기타 여러 형식으로 변환해줍니다.</p>\n<p>Sphinx에는 reStructuredText를 HTML과 PDF 등 다른 형식으로 변환하는 <code class=\"docutils literal notranslate\"><span class=\"pre\">sphinx-build</span></code> 명령이 있습니다. 이 명령은 설정할 수 있지만, Django 문서에는 <code class=\"docutils literal notranslate\"><span class=\"pre\">make</span> <span class=\"pre\">html</span></code> 명령으로 더 간단하게 실행할 수 있도록 하는 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>Makefile``이 포함되어 있습니다.</p>\n</section>\n<section id=\"how-the-documentation-is-organized\">\n<h2>이 문서의 구조<a class=\"heading-anchor\" href=\"#how-the-documentation-is-organized\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>문서는 여러 범주로 나뉩니다.</p>\n<ul>\n<li><p><a class=\"reference internal\" href=\"/ko/6.1/intro/\"><span class=\"doc\">튜토리얼</span></a>은 독자로 하여금 차근차근 따라 하면서 뭔가 만들어 볼 수 있도록 해줍니다.</p>\n<p>튜토리얼에서 가장 중요한 것은 독자가 최대한 빠르게 유용한 것을 만들어 봄으로써 자신감을 갖도록 하는 것입니다.</p>\n<p>우리가 해결하려는 문제의 본질을 설명하여, 무엇을 이루고자 하는지 독자가 이해할 수 있도록 합니다. 동작 원리를 설명하는 데 꼭 얽매일 필요는 없습니다. 무엇을 설명하는 지보다 독자가 무엇을 하는 지가 더 중요합니다. 경우에 따라서는 먼저 작업을 진행한 뒤, 나중에 그 과정을 되짚어 설명하는 것이 도움이 될 수 있습니다.</p>\n</li>\n<li><p><a class=\"reference internal\" href=\"/ko/6.1/topics/\"><span class=\"doc\">주제 가이드</span></a>는 개념 또는 주제를 고수준에서 설명하는 것을 목적으로 합니다.</p>\n<p>참고 자료에 있는 내용을 반복하지 말고 링크를 거세요. 예제를 사용하고, 매우 기초적인 내용에 대한 설명을 아끼지 마세요. 그런 설명을 필요로 하는 사람이 있을 지 모릅니다.</p>\n<p>해당 주제를 처음 접하는 사람들을 위해 배경 지식을 설명하는 것은 그들이 이미 알고 있는 것과 연결하는 데 도움이 됩니다.</p>\n</li>\n<li><p>:doc:<a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>참조 가이드 &lt;/ref/index&gt;`는 API에 대한 기술적 참고 자료를 제공합니다. 또한 Django의 내부 동작 방식을 설명하고, 그 사용법을 안내합니다</p>\n<p>참고 자료는 주제에 집중해야 합니다. 독자가 이미 기본 개념을 알고 있되 Django에서 그것을 어떻게 다루는지에 대한 설명이 필요할 것으로 가정하세요.</p>\n<p>참조 가이드는 일반적인 설명을 위한 것이 아닙니다. 기본 개념에 대해 설명하고 있다고 느껴지면, 그것을 주제 가이드로 옮기기 바랍니다.</p>\n</li>\n<li><p><a class=\"reference internal\" href=\"/ko/6.1/howto/\"><span class=\"doc\">How-to 가이드</span></a>는 주요한 주제에 있어서 독자가 따라할 수 있는 레시피입니다.</p>\n<p>how-to 가이드에서는 사용자가 달성하고자 하는 것이 중요합니다. how-to에서는 Django의 내부 구현에 대한 세부 사항보다는 결과물을 도출하는 데 집중해야 합니다.</p>\n<p>how-to 가이드는 튜토리얼보다 수준이 높으며, 독자가 Django의 동작 원리에 대한 지식이 있을 것으로 간주합니다. 독자가 이미 튜토리얼을 읽은 것으로 간주하고, 같은 내용을 반복하지 말고 관련 튜토리얼에 대한 참조를 제공하세요.</p>\n</li>\n</ul>\n</section>\n<section id=\"how-to-start-contributing-documentation\">\n<h2>문서 기여를 시작하는 방법<a class=\"heading-anchor\" href=\"#how-to-start-contributing-documentation\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"clone-the-django-repository-to-your-local-machine\">\n<h3>로컬 컴퓨터에 Django 저장소 복제하기<a class=\"heading-anchor\" href=\"#clone-the-django-repository-to-your-local-machine\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>문서 기여를 시작하려면 소스 코드 저장소에서 Django의 개발 버전을 가져오세요(<a class=\"reference internal\" href=\"/ko/6.1/topics/install/#installing-development-version\"><span class=\"std std-ref\">Installing the development version</span></a> 참고).</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-0-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>git<span class=\"w\"> </span>clone<span class=\"w\"> </span>https://github.com/django/django.git\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-0-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> git clone https://github.com/django/django.git\n</code></pre></div></div></div>\n<p>이러한 변경 사항을 제출할 계획이라면 Django 저장소를 포크한 뒤 해당 포크를 복제하는 것이 도움이 될 수 있습니다.</p>\n</section>\n<section id=\"set-up-a-virtual-environment-and-install-dependencies\">\n<h3>가상 환경을 설정하고 의존성을 설치하기<a class=\"heading-anchor\" href=\"#set-up-a-virtual-environment-and-install-dependencies\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>가상 환경을 생성하고 활성화한 다음, 의존성을 설치합니다.</p>\n<div class=\"code-block\" data-language=\"shell\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code>$<span class=\"w\"> </span>python<span class=\"w\"> </span>-m<span class=\"w\"> </span>venv<span class=\"w\"> </span>.venv\n$<span class=\"w\"> </span><span class=\"nb\">source</span><span class=\"w\"> </span>.venv/bin/activate\n$<span class=\"w\"> </span>python<span class=\"w\"> </span>-m<span class=\"w\"> </span>pip<span class=\"w\"> </span>install<span class=\"w\"> </span>-r<span class=\"w\"> </span>docs/requirements.txt\n</code></pre></div>\n</section>\n<section id=\"build-the-documentation-locally\">\n<span id=\"build-documentation-locally\"></span><h3>로컬에서 문서 빌드하기<a class=\"heading-anchor\" href=\"#build-the-documentation-locally\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">docs</span></code> 디렉토리에서 HTML 문서를 빌드할 수 있습니다.</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-1-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span><span class=\"nb\">cd</span><span class=\"w\"> </span>docs\n<span class=\"gp\">$ </span>make<span class=\"w\"> </span>html\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-1-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> <span class=\"k\">cd</span> docs\n<span class=\"gp\">...\\&gt;</span> make.bat html\n</code></pre></div></div></div>\n<p>로컬에서 빌드한 문서는 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>_build/html/index.html``에서 확인할 수 있으며 웹 브라우저에서 열어볼 수 있습니다. 다만 <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>docs.djangoproject.com &lt;<a class=\"reference external\" href=\"https://docs.djangoproject.com/\">https://docs.djangoproject.com/</a>&gt;`_의 문서와는 테마가 다르게 표시됩니다. 이는 정상입니다. 로컬 환경에서 변경 사항이 잘 보인다면 웹사이트에서도 잘 보일 것입니다.</p>\n<section id=\"automating-documentation-rebuilds\">\n<h4>Automating documentation rebuilds<a class=\"heading-anchor\" href=\"#automating-documentation-rebuilds\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p><a class=\"extlink-pypi reference external\" href=\"https://pypi.org/project/sphinx-autobuild/\">sphinx-autobuild</a> can be used to automatically rebuild the documentation\nand reload the documentation page in the browser whenever a file changes. To\nenable auto-reloading:</p>\n<ol class=\"arabic\">\n<li><p>Install the package:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-2-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>python<span class=\"w\"> </span>-m<span class=\"w\"> </span>pip<span class=\"w\"> </span>install<span class=\"w\"> </span>sphinx-autobuild\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-2-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> py -m pip install sphinx-autobuild\n</code></pre></div></div></div>\n</li>\n<li><p>From the <code class=\"docutils literal notranslate\"><span class=\"pre\">docs</span></code> directory, run one of the following commands:</p>\n<ul>\n<li><p>On Linux and macOS:</p>\n<div class=\"code-block\" data-language=\"shell\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code>$<span class=\"w\"> </span><span class=\"nv\">SPHINXBUILD</span><span class=\"o\">=</span>sphinx-autobuild<span class=\"w\"> </span><span class=\"nv\">SPHINXOPTS</span><span class=\"o\">=</span><span class=\"s2\">&quot;--open-browser --delay 0&quot;</span><span class=\"w\"> </span>make<span class=\"w\"> </span>html\n</code></pre></div>\n</li>\n<li><p>On Windows (Command Prompt):</p>\n<div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows code\"><code><span class=\"gp\">...\\&gt;</span> <span class=\"k\">set</span> <span class=\"nv\">SPHINXBUILD</span><span class=\"p\">=</span>sphinx-autobuild\n<span class=\"gp\">...\\&gt;</span> <span class=\"k\">set</span> <span class=\"nv\">SPHINXOPTS</span><span class=\"p\">=</span>--open-browser --delay 0\n<span class=\"gp\">...\\&gt;</span> make html\n</code></pre></div>\n</li>\n<li><p>On Windows (PowerShell):</p>\n<div class=\"code-block\" data-language=\"powershell\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Powershell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Powershell code\"><code><span class=\"n\">PS</span><span class=\"p\">&gt;</span> <span class=\"nv\">$env:SPHINXBUILD</span><span class=\"p\">=</span><span class=\"s2\">&quot;sphinx-autobuild&quot;</span>\n<span class=\"n\">PS</span><span class=\"p\">&gt;</span> <span class=\"nv\">$env:SPHINXOPTS</span><span class=\"p\">=</span><span class=\"s2\">&quot;--open-browser --delay 0&quot;</span>\n<span class=\"n\">PS</span><span class=\"p\">&gt;</span> <span class=\"n\">make</span> <span class=\"n\">html</span>\n</code></pre></div>\n</li>\n</ul>\n<p>Alternatively, <code class=\"docutils literal notranslate\"><span class=\"pre\">sphinx-autobuild</span></code> can be invoked directly:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-3-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>sphinx-autobuild<span class=\"w\"> </span>.<span class=\"w\"> </span>_build/html<span class=\"w\"> </span>--open-browser<span class=\"w\"> </span>--delay<span class=\"w\"> </span><span class=\"m\">0</span>\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-3-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> sphinx-autobuild . _build\\html --open-browser --delay 0\n</code></pre></div></div></div>\n</li>\n</ol>\n<p>The auto-reloader can be stopped with <code class=\"docutils literal notranslate\"><span class=\"pre\">Ctrl+C</span></code>.</p>\n</section>\n</section>\n<section id=\"making-edits-to-the-documentation\">\n<h3>문서 수정하기<a class=\"heading-anchor\" href=\"#making-edits-to-the-documentation\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>소스 파일은 <code class=\"docutils literal notranslate\"><span class=\"pre\">docs/</span></code> 디렉토리에 있는 <code class=\"docutils literal notranslate\"><span class=\"pre\">.txt</span></code> 파일입니다.</p>\n<p>이러한 파일은 reStructuredText 마크업 언어로 작성되어 있습니다. 마크업에 대해 알아보려면 :ref:<a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>reStructuredText reference &lt;sphinx:rst-index&gt;`를 참고하세요.</p>\n<p>예를 들어 이 페이지를 수정하려면 <a class=\"extlink-source reference external\" href=\"https://github.com/django/django/blob/stable/6.1.x/docs/internals/contributing/writing-documentation.txt\">docs/internals/contributing/writing-documentation.txt</a> 파일을 수정한 다음 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>make html``로 HTML을 다시 빌드합니다.</p>\n</section>\n<section id=\"documentation-quality-checks\">\n<span id=\"documentation-checks\"></span><h3>문서 품질 점검<a class=\"heading-anchor\" href=\"#documentation-quality-checks\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Django의 문서 품질을 유지하기 위해 여러 검사가 수행되며, 여기에는 <a class=\"reference internal\" href=\"#documentation-spelling-check\"><span class=\"std std-ref\">spelling</span></a>, <a class=\"reference internal\" href=\"#documentation-code-block-format-check\"><span class=\"std std-ref\">code block formatting</span></a>, <a class=\"reference internal\" href=\"#documentation-lint-check\"><span class=\"std std-ref\">documentation style</span></a> 등이 포함됩니다.</p>\n<p>이러한 점검은 CI에서 자동으로 실행되며 문서 변경 사항이 병합되기 전에 반드시 통과해야 합니다. 또한 단일 명령으로 로컬에서도 실행할 수 있습니다.</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-4-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>make<span class=\"w\"> </span>check\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-4-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> make.bat check\n</code></pre></div></div></div>\n<p>이 명령은 현재의 모든 점검을 실행하며, 향후 추가되는 새로운 점검도 포함합니다.</p>\n<section id=\"spelling-check\">\n<span id=\"documentation-spelling-check\"></span><h4>철자 확인<a class=\"heading-anchor\" href=\"#spelling-check\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Before you commit your docs, it’s a good idea to run the spelling checker.\nYou’ll need to install <a class=\"extlink-pypi reference external\" href=\"https://pypi.org/project/sphinxcontrib-spelling/\">sphinxcontrib-spelling</a> first. The spell checker\nalso requires a system-level spell checking backend such as <a class=\"reference external\" href=\"http://aspell.net/\">Aspell</a>. Then from the <code class=\"docutils literal notranslate\"><span class=\"pre\">docs</span></code> directory, run:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-5-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>make<span class=\"w\"> </span>spelling\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-5-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> make.bat spelling\n</code></pre></div></div></div>\n<p>잘못된 단어가 있을 경우 해당 파일과 줄 번호와 함께 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>_build/spelling/output.txt``에 저장됩니다.</p>\n<p>False Positive(실제로 정확한 오류 출력)가 발생하는 경우 다음 중 하나를 수행합니다.</p>\n<ul class=\"simple\">\n<li><p>인라인 코드나 브랜드/기술 이름은 백틱 두 개(``)로 감쌉니다.</p></li>\n<li><p>철자 검사기가 인식하는 동의어를 찾습니다.</p></li>\n<li><p>사용 중인 단어가 정확하다고 확신하는 경우에만 “docs/spelling_wordlist”에 추가합니다(목록은 알파벳 순으로 유지).</p></li>\n</ul>\n</section>\n<section id=\"code-block-format-check\">\n<span id=\"documentation-code-block-format-check\"></span><h4>코드 블록 형식 점검<a class=\"heading-anchor\" href=\"#code-block-format-check\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>모든 Python 코드 블록은 <a class=\"extlink-pypi reference external\" href=\"https://pypi.org/project/blacken-docs/\">blacken-docs</a> 자동 포맷터를 사용해 형식을 맞춰야 합니다. 이는 :ref:<a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>pre-commit hook &lt;coding-style-pre-commit&gt;`가 설정되어 있으면 자동으로 실행됩니다.</p>\n<p>이 점검은 수동으로도 실행할 수 있습니다. <code class=\"docutils literal notranslate\"><span class=\"pre\">blacken-docs``가</span> <span class=\"pre\">설치되어</span> <span class=\"pre\">있다면</span> <span class=\"pre\">``docs</span></code> 디렉토리에서 다음 명령을 실행하세요.</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-6-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>make<span class=\"w\"> </span>black\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-6-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> make.bat black\n</code></pre></div></div></div>\n<p>포맷터는 문제를 터미널에 출력하여 보고하며, 가능한 경우 코드 블록의 형식을 다시 맞춥니다.</p>\n</section>\n<section id=\"documentation-lint-check\">\n<span id=\"id3\"></span><h4>문서 린트 점검<a class=\"heading-anchor\" href=\"#documentation-lint-check\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Django의 문서는 :pypi:<a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>sphinx-lint`를 사용해 reStructuredText 스타일과 형식 관련 문제를 점검합니다. 이를 통해 불필요한 탭 문자, 줄 끝 공백, 과도한 줄 길이와 같은 문제를 비롯해 유사한 형식 문제를 찾아낼 수 있습니다.</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">sphinx-lint``이</span> <span class=\"pre\">설치되면</span> <span class=\"pre\">``docs</span></code> 디렉토리에서 다음 명령으로 점검을 실행할 수 있습니다.</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-7-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>make<span class=\"w\"> </span>lint\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-7-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> make.bat lint\n</code></pre></div></div></div>\n<p>이 명령은 <code class=\"docutils literal notranslate\"><span class=\"pre\">path:line:</span> <span class=\"pre\">message</span></code> 형식으로 위반 사항을 터미널에 출력합니다. 문제가 발생한 경우:</p>\n<ul class=\"simple\">\n<li><p>메시지를 읽고 표시된 문제를 수정하세요(예: 줄 끝 공백 제거, 백틱 조정, 탭을 공백으로 변환).</p></li>\n<li><p>긴 줄의 경우 텍스트를 새 줄로 나누거나 긴 인라인 링크를 이름 있는 참조로 바꾸는 것을 고려하세요. 사용자 정의 줄 길이 점검은 제목, 표, 긴 링크와 같은 일반적인 오탐은 이미 제외하도록 되어 있습니다.</p></li>\n</ul>\n</section>\n</section>\n<section id=\"link-check\">\n<span id=\"documentation-link-check\"></span><h3>링크체크<a class=\"heading-anchor\" href=\"#link-check\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>문서의 링크는 깨지거나 변경되어 더 이상 표준 링크가 아닐 수 있습니다. Sphinx는 문서 내 링크가 정상적으로 작동하는지 확인할 수 있는 빌더를 제공합니다. <code class=\"docutils literal notranslate\"><span class=\"pre\">docs</span></code> 디렉토리에서 다음 명령을 실행하세요.</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-8-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>make<span class=\"w\"> </span>linkcheck\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-8-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> make.bat linkcheck\n</code></pre></div></div></div>\n<p>출력 결과는 터미널에 표시되며, <code class=\"docutils literal notranslate\"><span class=\"pre\">_build/linkcheck/output.txt</span></code> 및 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>_build/linkcheck/output.json``에서도 확인할 수 있습니다.</p>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">경고</p>\n<p>이 명령을 실행하려면 인터넷 연결이 필요하며, 완료까지 몇 분 정도 걸립니다. 이는 문서에 포함된 모든 링크를 검사하기 때문입니다.</p>\n</aside>\n<p>상태가 “작동 중”인 항목은 정상이며, “선택 취소됨” 또는 “무시됨” 항목은 확인할 수 없거나 구성의 무시 규칙과 일치하기 때문에 건너뜁니다.</p>\n<p>상태가 “broken”인 항목은 수정해야 합니다. 상태가 “redirected”인 항목은 정식 경로를 가리키도록 업데이트해야 할 수 있습니다(예: <code class=\"docutils literal notranslate\"><span class=\"pre\">http://</span></code> → <code class=\"docutils literal notranslate\"><span class=\"pre\">https://``로</span> <span class=\"pre\">스킴이</span> <span class=\"pre\">변경된</span> <span class=\"pre\">경우).</span> <span class=\"pre\">다만</span> <span class=\"pre\">일부</span> <span class=\"pre\">경우에는</span> <span class=\"pre\">&quot;redirected&quot;</span> <span class=\"pre\">링크를</span> <span class=\"pre\">업데이트하지</span> <span class=\"pre\">않는</span> <span class=\"pre\">것이</span> <span class=\"pre\">좋습니다.</span> <span class=\"pre\">예를</span> <span class=\"pre\">들어</span> <span class=\"pre\">항상</span> <span class=\"pre\">문서의</span> <span class=\"pre\">최신</span> <span class=\"pre\">또는</span> <span class=\"pre\">안정</span> <span class=\"pre\">버전을</span> <span class=\"pre\">가리키도록</span> <span class=\"pre\">하는</span> <span class=\"pre\">재작성의</span> <span class=\"pre\">경우(예:</span> <span class=\"pre\">``/en/stable/</span></code> → <code class=\"docutils literal notranslate\"><span class=\"pre\">/en/3.2/</span></code>)가 이에 해당합니다.</p>\n</section>\n</section>\n<section id=\"writing-style\">\n<h2>문체<a class=\"heading-anchor\" href=\"#writing-style\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>“세션 쿠키를 가진 사용자”와 같이 가상의 인물을 지칭할 때는 성별을 드러내지 않는 대명사(they/their/them)를 사용해야 합니다. 다음 대신:</p>\n<ul class=\"simple\">\n<li><p>he 또는 she 대신 they를 사용합니다.</p></li>\n<li><p>him 또는 her 대신 them을 사용합니다.</p></li>\n<li><p>his 또는 her 대신 their를 사용합니다.</p></li>\n<li><p>his 또는 hers 대신 theirs를 사용합니다.</p></li>\n<li><p>himself 또는 herself 대신 themselves를 사용합니다.</p></li>\n</ul>\n<p>작업이나 작업 과정의 난이도를 낮춰 보이게 하는 표현(예: “easily”, “simply”, “just”, “merely”, “straightforward” 등)은 사용을 피하세요. 실제 사용자의 경험은 예상과 다를 수 있으며, 안내된 단계가 “straightforward”하거나 “simple”하다고 느껴지지 않을 경우 사용자가 불편을 겪을 수 있습니다.</p>\n</section>\n<section id=\"commonly-used-terms\">\n<h2>공통적인 용어<a class=\"heading-anchor\" href=\"#commonly-used-terms\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>다음은 문서에서 공통적으로 사용되는 용어에 대한 지침입니다.</p>\n<ul class=\"simple\">\n<li><p><strong>Django</strong> – 프레임워크를 지칭할 때에는 첫 글자를 대문자로 하여 Django로 표기합니다. Python 코드와 djangoproject.com 로고에서만 소문자를 사용합니다.</p></li>\n<li><p><strong>email</strong> – 하이픈을 넣지 않습니다.</p></li>\n<li><p><strong>HTTP</strong> – 예상 발음이 “Aitch Tee Tee Pee”이므로 관사는 “a”가 아니라 “an”을 사용해야 합니다.</p></li>\n<li><p><strong>MySQL</strong>, <strong>PostgreSQL</strong>, <strong>SQLite</strong></p></li>\n<li><p><strong>SQL</strong> – SQL을 가리킬 때, 그 발음은 “시퀄”이 아니라 “에스큐엘”로 합니다. 따라서 “Returns an SQL expression”과 같은 표현에서 “SQL” 앞에는 “a”가 아닌 “an”이 옵니다.</p></li>\n<li><p><strong>Python</strong> – 언어를 가리킬 때에는 첫 글자를 대문자로 하여 Python으로 표기합니다.</p></li>\n<li><p><strong>realize</strong>, <strong>customize</strong>, <strong>initialize</strong> 등. – 미국식으로 “ize”를 붙이며, “ise”는 붙이지 않습니다.</p></li>\n<li><p><strong>subclass</strong> – 하이픈이 없는 하나의 단어로, 동사(“subclass that model”) 또는 명사(“create a subclass”)입니다.</p></li>\n<li><p><strong>the web</strong>, <strong>web framework</strong> – 대문자로 표기하지 않습니다.</p></li>\n<li><p><strong>website</strong> – 대문자 없이 한 단어로 씁니다.</p></li>\n</ul>\n</section>\n<section id=\"django-specific-terminology\">\n<h2>Django 관련 용어<a class=\"heading-anchor\" href=\"#django-specific-terminology\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<ul class=\"simple\">\n<li><p><strong>model</strong> – 대문자가 아닙니다.</p></li>\n<li><p><strong>template</strong> – 대문자가 아닙니다.</p></li>\n<li><p><strong>URLconf</strong> – 처음 세 글자를 대문자로 하며, “conf”와의 사이에 공백을 두지 않습니다.</p></li>\n<li><p><strong>view</strong> – 대문자가 아닙니다.</p></li>\n</ul>\n</section>\n<section id=\"guidelines-for-restructuredtext-files\">\n<h2>reStructuredText 파일 안내<a class=\"heading-anchor\" href=\"#guidelines-for-restructuredtext-files\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>이러한 가이드라인은 reST(reStructuredText) 문서의 형식을 규정합니다.</p>\n<ul>\n<li><p>섹션 제목에서는 첫 단어와 고유명사만 대문자로 표기합니다.</p></li>\n<li><p>문서는 80자 너비로 줄바꿈합니다. 다만 코드 예시를 두 줄로 나누면 가독성이 크게 떨어지는 경우나 기타 적절한 이유가 있는 경우는 예외로 합니다.</p></li>\n<li><p>문서를 작성하고 수정할 때 가장 중요한 점은 가능한 한 많은 시맨틱 마크업을 추가하는 것입니다. 따라서:</p>\n<div class=\"code-block\" data-language=\"rst\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Rst</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Rst code\"><code>Add <span class=\"s\">``django.contrib.auth``</span> to your <span class=\"s\">``INSTALLED_APPS``</span>...\n</code></pre></div>\n<p>Isn’t nearly as helpful as:</p>\n<div class=\"code-block\" data-language=\"rst\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Rst</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Rst code\"><code>Add <span class=\"na\">:mod:</span><span class=\"nv\">`django.contrib.auth`</span> to your <span class=\"na\">:setting:</span><span class=\"nv\">`INSTALLED_APPS`</span>...\n</code></pre></div>\n<p>이는 Sphinx가 후자의 경우에 적절한 링크를 생성해 독자에게 큰 도움이 되기 때문입니다.</p>\n<p>대상 앞에 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>~``(물결표)를 붙이면 해당 경로의 마지막 부분만 표시할 수 있습니다. 따라서 <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>:mod:<a href=\"#id5\"><span class=\"problematic\" id=\"id6\">`</span></a>~django.contrib.auth```는 “auth”라는 제목의 링크로 표시됩니다.</p>\n</li>\n<li><p>Python과 Sphinx의 문서를 참조하려면 :mod:<a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>~sphinx.ext.intersphinx`를 사용하세요.</p></li>\n<li><p>리터럴 블록이 하이라이트되도록 <code class=\"docutils literal notranslate\"><span class=\"pre\">..</span> <span class=\"pre\">code-block::</span> <span class=\"pre\">&lt;lang&gt;``을</span> <span class=\"pre\">추가하세요.</span> <span class=\"pre\">다만</span> <span class=\"pre\">``::</span></code> (콜론 두 개)를 사용한 자동 하이라이팅을 사용하는 것을 권장합니다. 이 방법은 코드에 일부 잘못된 구문이 포함되어 있더라도 하이라이트되지 않는다는 장점이 있습니다. 예를 들어 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>.. code-block:: python``을 추가하면 잘못된 구문이 있어도 강제로 하이라이트됩니다.</p></li>\n<li><p>가독성을 높이기 위해 <code class=\"docutils literal notranslate\"><span class=\"pre\">..</span> <span class=\"pre\">note::</span></code> 대신 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>.. admonition:: Descriptive title``을 사용하세요. 이러한 박스는 필요할 때만 사용하세요.</p></li>\n<li><p>다음과 같은 제목 스타일을 사용하세요.</p>\n<div class=\"code-block\" data-language=\"rst\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Rst</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Rst code\"><code><span class=\"gh\">===</span>\n<span class=\"gh\">One</span>\n<span class=\"gh\">===</span>\n\n<span class=\"gh\">Two</span>\n<span class=\"gh\">===</span>\n\n<span class=\"gh\">Three</span>\n<span class=\"gh\">-----</span>\n\n<span class=\"gh\">Four</span>\n<span class=\"gh\">~~~~</span>\n\n<span class=\"gh\">Five</span>\n<span class=\"gh\">^^^^</span>\n</code></pre></div>\n</li>\n<li><p>Request for Comments(RFC)를 참조하려면 <code class=\"xref rst rst-role docutils literal notranslate\"><span class=\"pre\">:rfc:&lt;rfc&gt;`를</span> <span class=\"pre\">사용하고</span> <span class=\"pre\">가능하다면</span> <span class=\"pre\">관련</span> <span class=\"pre\">섹션으로</span> <span class=\"pre\">링크하세요.</span> <span class=\"pre\">예를</span> <span class=\"pre\">들어</span> <span class=\"pre\">`</span></code><span class=\"target\" id=\"index-2\"></span><a class=\"rfc reference external\" href=\"https://datatracker.ietf.org/doc/html/rfc2324.html#section-2.3.2``\"><strong>RFC 2324 Section 2.3.2``</strong></a> 또는 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>:rfc:<a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>Custom link text &lt;2324#section-2.3.2&gt;```을 사용할 수 있습니다.</p></li>\n<li><p>Python Enhancement Proposal(PEP)를 참조하려면 <code class=\"xref rst rst-role docutils literal notranslate\"><span class=\"pre\">:pep:&lt;pep&gt;`를</span> <span class=\"pre\">사용하고</span> <span class=\"pre\">가능하다면</span> <span class=\"pre\">관련</span> <span class=\"pre\">섹션으로</span> <span class=\"pre\">링크하세요.</span> <span class=\"pre\">예를</span> <span class=\"pre\">들어</span> <span class=\"pre\">`</span></code><span class=\"target\" id=\"index-3\"></span><a class=\"pep reference external\" href=\"https://peps.python.org/pep-0020/#easter-egg``\"><strong>PEP 20#easter-egg``</strong></a> 또는 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>:pep:<a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>Easter Egg &lt;20#easter-egg&gt;```을 사용할 수 있습니다.</p></li>\n<li><p>코드 예시에서 값이 따옴표로 감싸진 경우가 아니라면 MIME 유형을 참조할 때 :rst:role:<a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>:mimetype:&lt;mimetype&gt;`을 사용하세요.</p></li>\n<li><p>환경 변수를 참조하려면 <code class=\"xref rst rst-role docutils literal notranslate\"><span class=\"pre\">:envvar:&lt;envvar&gt;`를</span> <span class=\"pre\">사용하세요.</span> <span class=\"pre\">또한</span> <span class=\"pre\">해당</span> <span class=\"pre\">환경</span> <span class=\"pre\">변수에</span> <span class=\"pre\">대한</span> <span class=\"pre\">문서</span> <span class=\"pre\">참조를</span> <span class=\"pre\">:rst:dir:</span></code>.. envvar:: &lt;envvar&gt;`를 사용하여 정의해야 할 수도 있습니다.</p></li>\n<li><p>Common Vulnerabilities and Exposures(CVE) 식별자를 참조하려면 <code class=\"xref rst rst-role docutils literal notranslate\"><span class=\"pre\">:cve:&lt;cve&gt;`를</span> <span class=\"pre\">사용하세요.</span> <span class=\"pre\">예를</span> <span class=\"pre\">들어</span> <span class=\"pre\">`</span></code>:cve:<a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>2019-14232```를 사용할 수 있습니다.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">..</span> <span class=\"pre\">class::</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">..</span> <span class=\"pre\">method::</span></code>, <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>.. attribute::<a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>와 같은 <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">`</span></a>Sphinx directives`__를 사용하여 Python 객체(클래스, 메서드, 속성 등)를 문서화할 때는 모든 콘텐츠를 올바르게 렌더링하고 자동 목차 생성과 같은 기능을 지원할 수 있도록 적절히 들여써야 합니다.</p>\n<p>다음 규칙을 따르세요.</p>\n<ul class=\"simple\">\n<li><p>디렉티브 자체는 들여쓰기 없이 왼쪽 여백에 맞춥니다.</p></li>\n<li><p>디렉티브 아래의 모든 설명 텍스트는 공백 4칸으로 들여써야 합니다.</p></li>\n<li><p>여러 줄로 된 설명은 들여쓰기를 동일하게 유지해야 합니다.</p></li>\n<li><p>중첩된 디렉티브(예: 클래스 내부의 메서드)는 계층 구조를 유지하기 위해 추가로 공백 4칸을 들여써야 합니다.</p></li>\n<li><p>필드 목록(<code class=\"docutils literal notranslate\"><span class=\"pre\">:param:</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">:returns:</span></code> 등)은 디렉티브의 콘텐츠 수준에 맞게 정렬해야 합니다.</p></li>\n</ul>\n<p>예제:</p>\n<div class=\"code-block\" data-language=\"rst\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Rst</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Rst code\"><code><span class=\"p\">..</span> <span class=\"ow\">class</span><span class=\"p\">::</span> MyClass\n\n    A brief description of the class.\n\n<span class=\"p\">    ..</span> <span class=\"ow\">method</span><span class=\"p\">::</span> my_method(arg1, arg2)\n\n        Method description.\n\n        <span class=\"nc\">:param arg1:</span> Description of the first parameter\n        <span class=\"nc\">:param arg2:</span> Description of the second parameter\n\n<span class=\"p\">    ..</span> <span class=\"ow\">attribute</span><span class=\"p\">::</span> my_attribute\n\n        Attribute description.\n</code></pre></div>\n</li>\n</ul>\n</section>\n<section id=\"django-specific-markup\">\n<h2>Django 전용 마크업<a class=\"heading-anchor\" href=\"#django-specific-markup\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p><a class=\"reference external\" href=\"https://www.sphinx-doc.org/en/master/usage/restructuredtext/index.html#rst-index\" title=\"(Sphinx v9.1.1에서)\"><span class=\"xref std std-ref\">Sphinx’s built-in markup</span></a> 외에도 Django 문서에서는 몇 가지 설명 단위를 추가로 정의합니다.</p>\n<ul>\n<li><p>설정:</p>\n<div class=\"code-block\" data-language=\"rst\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Rst</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Rst code\"><code><span class=\"p\">..</span> <span class=\"ow\">setting</span><span class=\"p\">::</span> INSTALLED_APPS\n</code></pre></div>\n<p>설정에 연결하려면  <code class=\"docutils literal notranslate\"><span class=\"pre\">:setting:`INSTALLED_APPS`</span></code> 을 사용하십시오.</p>\n</li>\n<li><p>템플릿 태그:</p>\n<div class=\"code-block\" data-language=\"rst\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Rst</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Rst code\"><code><span class=\"p\">..</span> <span class=\"ow\">templatetag</span><span class=\"p\">::</span> regroup\n</code></pre></div>\n<p>링크하기 위해서, <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>:ttag:<a href=\"#id3\"><span class=\"problematic\" id=\"id4\">`</span></a>regroup```를 이용하십시오.</p>\n</li>\n<li><p>템플릿 필터:</p>\n<div class=\"code-block\" data-language=\"rst\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Rst</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Rst code\"><code><span class=\"p\">..</span> <span class=\"ow\">templatefilter</span><span class=\"p\">::</span> linebreaksbr\n</code></pre></div>\n<p>연결하려면``:tfilter:<a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>linebreaksbr```를 이용하십시오.</p>\n</li>\n<li><p>필드 조회 조건(예: <code class=\"docutils literal notranslate\"><span class=\"pre\">Foo.objects.filter(bar__exact=whatever)</span></code>):</p>\n<div class=\"code-block\" data-language=\"rst\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Rst</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Rst code\"><code><span class=\"p\">..</span> <span class=\"ow\">fieldlookup</span><span class=\"p\">::</span> exact\n</code></pre></div>\n<p>연결하려면````:lookup:<a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>exact``````를 이용하십시오.</p>\n</li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django-admin</span></code> 명령:</p>\n<div class=\"code-block\" data-language=\"rst\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Rst</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Rst code\"><code><span class=\"p\">..</span> <span class=\"ow\">django-admin</span><span class=\"p\">::</span> migrate\n</code></pre></div>\n<p>연결하려면``:djadmin:<a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>migrate```를 이용하십시오.</p>\n</li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django-admin</span></code> 명령줄 옵션:</p>\n<div class=\"code-block\" data-language=\"rst\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Rst</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Rst code\"><code><span class=\"p\">..</span> <span class=\"ow\">django-admin-option</span><span class=\"p\">::</span> --traceback\n</code></pre></div>\n<p>링크하려면 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a><code class=\"xref std std-option docutils literal notranslate\"><span class=\"pre\">command_name</span> <span class=\"pre\">--traceback```을</span> <span class=\"pre\">사용하세요(또는</span> <span class=\"pre\">`</span></code>–verbosity``와 같이 모든 명령에서 공통으로 사용하는 옵션의 경우 <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>command_name``은 생략할 수 있습니다).</p>\n</li>\n<li><p>Trac 티켓에 대한 링크(일반적으로 패치 릴리스 노트에서 주로 사용됨):</p>\n<div class=\"code-block\" data-language=\"rst\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Rst</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Rst code\"><code><span class=\"na\">:ticket:</span><span class=\"nv\">`12345`</span>\n</code></pre></div>\n</li>\n</ul>\n<p>Django’s documentation uses a custom <code class=\"docutils literal notranslate\"><span class=\"pre\">console</span></code> directive for documenting\ncommand-line examples involving <code class=\"docutils literal notranslate\"><span class=\"pre\">django-admin</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">manage.py</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">python</span></code>,\netc. In the HTML documentation, it renders a two-tab UI, with one tab showing\na Unix-style command prompt and a second tab showing a Windows prompt.</p>\n<p>예를 들어 다음과 같은 부분을 바꿀 수 있습니다.</p>\n<div class=\"code-block\" data-language=\"rst\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Rst</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Rst code\"><code>use this command:\n\n<span class=\"p\">..</span> <span class=\"ow\">code-block</span><span class=\"p\">::</span> console\n\n    $ python manage.py shell\n</code></pre></div>\n<p>with this one:</p>\n<div class=\"code-block\" data-language=\"rst\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Rst</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Rst code\"><code>use this command:\n\n<span class=\"p\">..</span> <span class=\"ow\">console</span><span class=\"p\">::</span>\n\n    $ python manage.py shell\n</code></pre></div>\n<p>다음 두 가지를 주목하십시오.</p>\n<ul class=\"simple\">\n<li><p>일반적으로  <code class=\"docutils literal notranslate\"><span class=\"pre\">..</span> <span class=\"pre\">code-block::</span> <span class=\"pre\">console</span></code> 지시문의 항목을 대체합니다.</p></li>\n<li><p>코드 예시의 실제 내용은 변경할 필요가 없습니다. 계속해서 Unix 계열 환경을 기준으로 작성하세요(예: <code class=\"docutils literal notranslate\"><span class=\"pre\">'$'</span></code> 프롬프트 기호, <code class=\"docutils literal notranslate\"><span class=\"pre\">'/'</span></code> 파일 시스템 경로 구분자 등).</p></li>\n</ul>\n<p>위의 예제에서는 두 개의 탭이 있는 코드 예제 블록을 렌더링합니다. 첫 번째 항목은 다음과 같습니다.</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>python<span class=\"w\"> </span>manage.py<span class=\"w\"> </span>shell\n</code></pre></div>\n<p>(<a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>.. code-block:: console``에서 렌더링한 변경 사항은 없습니다.)</p>\n<p>두 번째 항목은 다음과 같습니다.</p>\n<div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows code\"><code><span class=\"gp\">...\\&gt;</span> py manage.py shell\n</code></pre></div>\n</section>\n<section id=\"documenting-new-features\">\n<span id=\"id5\"></span><h2>새로운 기능을 문서화합니다.<a class=\"heading-anchor\" href=\"#documenting-new-features\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>새로운 기능에 대한 당사의 정책은 다음과 같습니다.</p>\n<blockquote>\n<div><p>새로운 기능에 대한 모든 문서는 해당 기능이 Django 개발 버전에서만 사용 가능함을 명확히 드러내는 방식으로 작성되어야 합니다. 문서 독자는 개발 버전이 아니라 최신 릴리스를 사용한다고 가정하세요.</p>\n</div></blockquote>\n<p>새로운 기능을 표시하는 권장 방식은 해당 기능의 문서 앞에 “<code class=\"docutils literal notranslate\"><span class=\"pre\">..</span> <span class=\"pre\">versionadded::</span> <span class=\"pre\">X.Y</span></code>”를 추가하는 것입니다. 그 다음에는 필수로 빈 줄을 한 줄 넣고, 선택적으로 설명(들여쓰기)을 덧붙일 수 있습니다.</p>\n<p>General improvements or other changes to the APIs that should be emphasized\nshould use the “<code class=\"docutils literal notranslate\"><span class=\"pre\">..</span> <span class=\"pre\">versionchanged::</span> <span class=\"pre\">X.Y</span></code>” directive (with the same format\nas the <code class=\"docutils literal notranslate\"><span class=\"pre\">versionadded</span></code> mentioned above).</p>\n<p>이러한 <code class=\"docutils literal notranslate\"><span class=\"pre\">versionadded</span></code> 및 <code class=\"docutils literal notranslate\"><span class=\"pre\">versionchanged</span></code> 블록은 자체적으로 독립된 형태를 갖춰야 합니다. 즉, 이러한 주석은 두 번의 릴리스 동안만 유지되므로 주변 텍스트를 다시 정리하거나 들여쓰기를 수정하거나 편집할 필요 없이 주석과 그 내용만 제거할 수 있어야 합니다. 예를 들어, 새로 추가되거나 변경된 기능에 대한 전체 설명을 블록 안에 넣는 대신 다음과 같이 작성하세요.</p>\n<div class=\"code-block\" data-language=\"rst\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Rst</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Rst code\"><code><span class=\"p\">..</span> <span class=\"ow\">class</span><span class=\"p\">::</span> Author(first_name, last_name, middle_name=None)\n\n    A person who writes books.\n\n    <span class=\"s\">``first_name``</span> is ...\n\n<span class=\"c\">    ...</span>\n\n<span class=\"c\">    ``middle_name`` is ...</span>\n\n<span class=\"c\">    .. versionchanged:: A.B</span>\n\n<span class=\"c\">        The ``middle_name`` argument was added.</span>\n</code></pre></div>\n<p>변경된 주석 노트를 맨 위가 아닌 섹션 맨 아래에 배치합니다.</p>\n<p>또한 <code class=\"docutils literal notranslate\"><span class=\"pre\">versionadded</span></code> 또는 <code class=\"docutils literal notranslate\"><span class=\"pre\">versionchanged</span></code> 블록 외부에서 특정 Django 버전을 언급하는 것은 피하세요. 블록 내부에서도 이러한 표기는 각각 “New in Django A.B:”와 “Changed in Django A.B”로 렌더링되므로, 별도로 버전을 명시하는 것은 대체로 불필요합니다.</p>\n<p>함수, 속성 등이 추가된 경우에는 다음과 같이 <code class=\"docutils literal notranslate\"><span class=\"pre\">versionadded</span></code> 표기를 사용해도 됩니다.</p>\n<div class=\"code-block\" data-language=\"rst\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Rst</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Rst code\"><code><span class=\"p\">..</span> <span class=\"ow\">attribute</span><span class=\"p\">::</span> Author.middle_name\n\n<span class=\"p\">    ..</span> <span class=\"ow\">versionadded</span><span class=\"p\">::</span> A.B\n\n    An author&#39;s middle name.\n</code></pre></div>\n<p>시기가 되면 들여쓰기를 변경하지 않고도 <code class=\"docutils literal notranslate\"><span class=\"pre\">..</span> <span class=\"pre\">versionadded::</span> <span class=\"pre\">A.B</span></code> 표기를 제거할 수 있습니다.</p>\n</section>\n<section id=\"minimizing-images\">\n<h2>이미지 최소화<a class=\"heading-anchor\" href=\"#minimizing-images\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>가능한 경우 이미지 압축을 최적화합니다. PNG 파일의 경우 OptiPNG 및 Advanced를 사용합니다.COMP의 ‘’advpng’’:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-9-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span><span class=\"nb\">cd</span><span class=\"w\"> </span>docs\n<span class=\"gp\">$ </span>optipng<span class=\"w\"> </span>-o7<span class=\"w\"> </span>-zm1-9<span class=\"w\"> </span>-i0<span class=\"w\"> </span>-strip<span class=\"w\"> </span>all<span class=\"w\"> </span><span class=\"sb\">`</span>find<span class=\"w\"> </span>.<span class=\"w\"> </span>-type<span class=\"w\"> </span>f<span class=\"w\"> </span>-not<span class=\"w\"> </span>-path<span class=\"w\"> </span><span class=\"s2\">&quot;./_build/*&quot;</span><span class=\"w\"> </span>-name<span class=\"w\"> </span><span class=\"s2\">&quot;*.png&quot;</span><span class=\"sb\">`</span>\n<span class=\"gp\">$ </span>advpng<span class=\"w\"> </span>-z4<span class=\"w\"> </span><span class=\"sb\">`</span>find<span class=\"w\"> </span>.<span class=\"w\"> </span>-type<span class=\"w\"> </span>f<span class=\"w\"> </span>-not<span class=\"w\"> </span>-path<span class=\"w\"> </span><span class=\"s2\">&quot;./_build/*&quot;</span><span class=\"w\"> </span>-name<span class=\"w\"> </span><span class=\"s2\">&quot;*.png&quot;</span><span class=\"sb\">`</span>\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-9-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> <span class=\"k\">cd</span> docs\n<span class=\"gp\">...\\&gt;</span> optipng -o7 -zm1-9 -i0 -strip all `find . -type f -not -path <span class=\"s2\">&quot;.\\_build\\*&quot;</span> -name <span class=\"s2\">&quot;*.png&quot;</span>`\n<span class=\"gp\">...\\&gt;</span> advpng -z4 `find . -type f -not -path <span class=\"s2\">&quot;.\\_build\\*&quot;</span> -name <span class=\"s2\">&quot;*.png&quot;</span>`\n</code></pre></div></div></div>\n<p>이 버전은 OptiPNG 버전 0.7.5를 기반으로 합니다. 구 버전에서는 “-스트라이프 올” 옵션이 상실되는 것에 대해 불평할 수도 있습니다.</p>\n</section>\n<section id=\"an-example\">\n<h2>예제:<a class=\"heading-anchor\" href=\"#an-example\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>이 모든 것이 어떻게 서로 들어맞는지에 대한 간단한 예제를 보려면 다음 가상 예를 고려해 보십시오.</p>\n<ul>\n<li><p>먼저 ‘’참조/설정’’입니다.txt document 문서의 전체 레이아웃은 다음과 같습니다.</p>\n<div class=\"code-block\" data-language=\"rst\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Rst</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Rst code\"><code><span class=\"gh\">========</span>\n<span class=\"gh\">Settings</span>\n<span class=\"gh\">========</span>\n\n<span class=\"c\">...</span>\n\n<span class=\"p\">..</span> <span class=\"nt\">_available-settings:</span>\n\n<span class=\"gh\">Available settings</span>\n<span class=\"gh\">==================</span>\n\n<span class=\"c\">...</span>\n\n<span class=\"p\">..</span> <span class=\"nt\">_deprecated-settings:</span>\n\n<span class=\"gh\">Deprecated settings</span>\n<span class=\"gh\">===================</span>\n\n<span class=\"c\">...</span>\n</code></pre></div>\n</li>\n<li><p>다음은 ‘’주제/설정’’입니다.txt 문서에는 다음과 같은 내용이 포함될 수 있습니다.</p>\n<div class=\"code-block\" data-language=\"rst\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Rst</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Rst code\"><code>You can access a :ref:`listing of all available settings\n<span class=\"nt\">&lt;available-settings&gt;</span>`. For a list of deprecated settings see\n<span class=\"na\">:ref:</span><span class=\"nv\">`deprecated-settings`</span>.\n\nYou can find both in the :doc:`settings reference document\n<span class=\"nt\">&lt;/ref/settings&gt;</span>`.\n</code></pre></div>\n<p>다른 문서 전체에 연결하려는 경우에는 Sphinx의 <a class=\"reference external\" href=\"https://www.sphinx-doc.org/en/master/usage/referencing.html#role-doc\" title=\"(Sphinx v9.1.1에서)\"><code class=\"xref rst rst-role docutils literal notranslate\"><span class=\"pre\">doc</span></code></a> 상호 참조를 사용하고, 문서 내의 특정 위치에 연결하려는 경우에는 :rst:role:<a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>ref`를 사용합니다.</p>\n</li>\n<li><p>그런 다음 설정에 주석을 달 수 있습니다.</p>\n<div class=\"code-block\" data-language=\"rst\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Rst</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Rst code\"><code><span class=\"p\">..</span> <span class=\"ow\">setting</span><span class=\"p\">::</span> ADMINS\n\n<span class=\"gh\">ADMINS</span>\n<span class=\"gh\">======</span>\n\nDefault: <span class=\"s\">``[]``</span> (Empty list)\n\nA list of all the people who get code error notifications...\n</code></pre></div>\n<p>이는 아래 제목을 <code class=\"docutils literal notranslate\"><span class=\"pre\">ADMINS</span></code> 설정의 “기본 참조” 대상으로 마크업합니다. 따라서 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>ADMINS``를 언급할 때마다 <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>:setting:<a href=\"#id5\"><span class=\"problematic\" id=\"id6\">`</span></a>ADMINS```로 참조할 수 있습니다.</p>\n</li>\n</ul>\n<p>기본적으로 모든 것이 서로 맞아떨어집니다.</p>\n</section>\n<section id=\"translating-documentation\">\n<h2>번역 문서<a class=\"heading-anchor\" href=\"#translating-documentation\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>참조:ref:문서를 다른 언어로 번역하려면 “장고 문서 현지화”를 참조하십시오.</p>\n</section>\n<section id=\"django-admin-man-page\">\n<span id=\"django-admin-manpage\"></span><h2>‘’dango-admin’ man 페이지<a class=\"heading-anchor\" href=\"#django-admin-man-page\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Sphinx는 <a class=\"reference internal\" href=\"/ko/6.1/ref/django-admin/\"><span class=\"doc\">django-admin</span></a> 명령에 대한 매뉴얼 페이지를 생성할 수 있습니다. 이는 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>docs/conf.py``에서 설정됩니다. 다른 문서 출력과 달리, 이 man 페이지는 <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>docs/man/django-admin.1``로 Django 저장소와 릴리스에 포함되어야 합니다. 이 파일은 문서를 업데이트할 때 별도로 갱신할 필요가 없으며, 릴리스 과정의 일부로 한 번만 갱신됩니다.</p>\n<p>업데이트된 man 페이지를 생성하려면 <code class=\"docutils literal notranslate\"><span class=\"pre\">docs</span></code> 디렉토리에서 다음을 실행하세요.</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-10-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>make<span class=\"w\"> </span>man\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-10-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> make.bat man\n</code></pre></div></div></div>\n<p>새로운 man 페이지는 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>docs/_build/man/django-admin.1``에 생성됩니다.</p>\n</section>","rootId":"writing-documentation","toc":[{"title":"Django 문서 작성 과정","anchor":"the-django-documentation-process","children":[]},{"title":"이 문서의 구조","anchor":"how-the-documentation-is-organized","children":[]},{"title":"문서 기여를 시작하는 방법","anchor":"how-to-start-contributing-documentation","children":[{"title":"로컬 컴퓨터에 Django 저장소 복제하기","anchor":"clone-the-django-repository-to-your-local-machine","children":[]},{"title":"가상 환경을 설정하고 의존성을 설치하기","anchor":"set-up-a-virtual-environment-and-install-dependencies","children":[]},{"title":"로컬에서 문서 빌드하기","anchor":"build-the-documentation-locally","children":[{"title":"Automating documentation rebuilds","anchor":"automating-documentation-rebuilds","children":[]}]},{"title":"문서 수정하기","anchor":"making-edits-to-the-documentation","children":[]},{"title":"문서 품질 점검","anchor":"documentation-quality-checks","children":[{"title":"철자 확인","anchor":"spelling-check","children":[]},{"title":"코드 블록 형식 점검","anchor":"code-block-format-check","children":[]},{"title":"문서 린트 점검","anchor":"documentation-lint-check","children":[]}]},{"title":"링크체크","anchor":"link-check","children":[]}]},{"title":"문체","anchor":"writing-style","children":[]},{"title":"공통적인 용어","anchor":"commonly-used-terms","children":[]},{"title":"Django 관련 용어","anchor":"django-specific-terminology","children":[]},{"title":"reStructuredText 파일 안내","anchor":"guidelines-for-restructuredtext-files","children":[]},{"title":"Django 전용 마크업","anchor":"django-specific-markup","children":[]},{"title":"새로운 기능을 문서화합니다.","anchor":"documenting-new-features","children":[]},{"title":"이미지 최소화","anchor":"minimizing-images","children":[]},{"title":"예제:","anchor":"an-example","children":[]},{"title":"번역 문서","anchor":"translating-documentation","children":[]},{"title":"‘’dango-admin’ man 페이지","anchor":"django-admin-man-page","children":[]}],"breadcrumbs":[{"docname":"internals/index","title":"Django 내부 구조","url":"/ko/6.1/internals/"},{"docname":"internals/contributing/index","title":"장고에 기여하기","url":"/ko/6.1/internals/contributing/"}],"prev":{"docname":"internals/contributing/committing-code","title":"코드 커밋","url":"/ko/6.1/internals/contributing/committing-code/"},"next":{"docname":"internals/contributing/localizing","title":"장고 현지화","url":"/ko/6.1/internals/contributing/localizing/"},"formats":{"html":"/ko/6.1/internals/contributing/writing-documentation/","markdown":"/ko/6.1/internals/contributing/writing-documentation.md","json":"/ko/6.1/internals/contributing/writing-documentation.json"},"source":"https://github.com/django/django/blob/stable/6.1.x/docs/internals/contributing/writing-documentation.txt","official":"https://docs.djangoproject.com/ko/6.1/internals/contributing/writing-documentation/","inVersions":["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"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}