{"title":"커스텀 “django-admin” 명령을 만드는 방법","version":"6.1","locale":"ko","docname":"howto/custom-management-commands","url":"/ko/6.1/howto/custom-management-commands/","canonical":"https://djangodocs.dev/ko/6.1/howto/custom-management-commands/","summary":"신청서는 자체 조치를 manage.py\"에 등록할 수 있다. 예를 들어 \"manage.py\"액션을 Django 앱을 사용하면서 추가하고 싶을수도 있을것이다. \"이 문서에서는 \"조사\" 신청에 대한 사용자 정의 ``closepoll 명령어를 :doc:’tutorial1에서 만들 것이다. 이를…","html":"<span id=\"how-to-create-custom-django-admin-commands\"></span><h1>커스텀 “django-admin” 명령을 만드는 방법<a class=\"heading-anchor\" href=\"#module-django.core.management\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>신청서는 자체 조치를 <code class=\"docutils literal notranslate\"><span class=\"pre\">manage.py&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\">&quot;manage.py&quot;액션을</span> <span class=\"pre\">Django</span> <span class=\"pre\">앱을</span> <span class=\"pre\">사용하면서</span> <span class=\"pre\">추가하고</span> <span class=\"pre\">싶을수도</span> <span class=\"pre\">있을것이다.</span>\n<span class=\"pre\">&quot;이</span> <span class=\"pre\">문서에서는</span> <span class=\"pre\">&quot;조사&quot;</span> <span class=\"pre\">신청에</span> <span class=\"pre\">대한</span> <span class=\"pre\">사용자</span> <span class=\"pre\">정의</span> <span class=\"pre\">``closepoll</span></code> 명령어를 :doc:’tutorial1에서 만들 것이다.</p>\n<p>이를 위해선 <code class=\"docutils literal notranslate\"><span class=\"pre\">management/commands</span></code> 디렉토리를 애플리케이션에 추가합니다. 장고는 이 디렉토리 내의 파이썬 모듈 중 언더스코어로 시작하지 않는 모듈들을 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>manage.py``에 커맨드로 등록합니다. 예를 들면:</p>\n<div class=\"code-block\" data-language=\"text\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Text</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=\"Text code\"><code>polls/\n    __init__.py\n    models.py\n    management/\n        __init__.py\n        commands/\n            __init__.py\n            _private.py\n            closepoll.py\n    tests.py\n    views.py\n</code></pre></div>\n<p>이 예에서 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>closepoll” 명령어는 “polls” 적용을 포함하는 모든 프로젝트에서 사용할 수 있게 된다  <a class=\"reference internal\" href=\"/ko/6.1/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">INSTALLED_APPS</span></code></a>.</p>\n<p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>_private.py” 모듈은 관리 명령으로 사용할 수 없습니다.</p>\n<p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>closepoll.py” 모듈은 다음과 같이 확장되는 “Command” 등급을 정의해야 하는 하나의 요건만 가지고 있다.Base Command 또는 그 중 하나인 ref:’subclasses.</p>\n<aside class=\"admonition-standalone-scripts admonition\">\n<p class=\"admonition-title\">독립 실행형 스크립트</p>\n<p>사용자 지정 관리 명령은 특히 독립 실행형 스크립트를 실행하거나 UNIX crontab 또는 윈도우즈 스케줄링된 태스크 제어판에서 정기적으로 실행되는 스크립트에 유용합니다.</p>\n</aside>\n<p>명령을 구현하려면 <code class=\"docutils literal notranslate\"><span class=\"pre\">polls/management/commands/closepoll.py</span></code> 를 편집하십시오</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</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=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.core.management.base</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">BaseCommand</span><span class=\"p\">,</span> <span class=\"n\">CommandError</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">polls.models</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">Question</span> <span class=\"k\">as</span> <span class=\"n\">Poll</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Command</span><span class=\"p\">(</span><span class=\"n\">BaseCommand</span><span class=\"p\">):</span>\n    <span class=\"n\">help</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;Closes the specified poll for voting&quot;</span>\n\n    <span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">add_arguments</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"n\">parser</span><span class=\"p\">):</span>\n        <span class=\"n\">parser</span><span class=\"o\">.</span><span class=\"n\">add_argument</span><span class=\"p\">(</span><span class=\"s2\">&quot;poll_ids&quot;</span><span class=\"p\">,</span> <span class=\"n\">nargs</span><span class=\"o\">=</span><span class=\"s2\">&quot;+&quot;</span><span class=\"p\">,</span> <span class=\"nb\">type</span><span class=\"o\">=</span><span class=\"nb\">int</span><span class=\"p\">)</span>\n\n    <span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">handle</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"o\">*</span><span class=\"n\">args</span><span class=\"p\">,</span> <span class=\"o\">**</span><span class=\"n\">options</span><span class=\"p\">):</span>\n        <span class=\"k\">for</span> <span class=\"n\">poll_id</span> <span class=\"ow\">in</span> <span class=\"n\">options</span><span class=\"p\">[</span><span class=\"s2\">&quot;poll_ids&quot;</span><span class=\"p\">]:</span>\n            <span class=\"k\">try</span><span class=\"p\">:</span>\n                <span class=\"n\">poll</span> <span class=\"o\">=</span> <span class=\"n\">Poll</span><span class=\"o\">.</span><span class=\"n\">objects</span><span class=\"o\">.</span><span class=\"n\">get</span><span class=\"p\">(</span><span class=\"n\">pk</span><span class=\"o\">=</span><span class=\"n\">poll_id</span><span class=\"p\">)</span>\n            <span class=\"k\">except</span> <span class=\"n\">Poll</span><span class=\"o\">.</span><span class=\"n\">DoesNotExist</span><span class=\"p\">:</span>\n                <span class=\"k\">raise</span> <span class=\"n\">CommandError</span><span class=\"p\">(</span><span class=\"s1\">&#39;Poll &quot;</span><span class=\"si\">%s</span><span class=\"s1\">&quot; does not exist&#39;</span> <span class=\"o\">%</span> <span class=\"n\">poll_id</span><span class=\"p\">)</span>\n\n            <span class=\"n\">poll</span><span class=\"o\">.</span><span class=\"n\">opened</span> <span class=\"o\">=</span> <span class=\"kc\">False</span>\n            <span class=\"n\">poll</span><span class=\"o\">.</span><span class=\"n\">save</span><span class=\"p\">()</span>\n\n            <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">stdout</span><span class=\"o\">.</span><span class=\"n\">write</span><span class=\"p\">(</span>\n                <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">style</span><span class=\"o\">.</span><span class=\"n\">SUCCESS</span><span class=\"p\">(</span><span class=\"s1\">&#39;Successfully closed poll &quot;</span><span class=\"si\">%s</span><span class=\"s1\">&quot;&#39;</span> <span class=\"o\">%</span> <span class=\"n\">poll_id</span><span class=\"p\">)</span>\n            <span class=\"p\">)</span>\n</code></pre></div>\n<aside class=\"admonition admonition-note\" id=\"management-commands-output\" role=\"note\">\n<p class=\"admonition-title\">참고</p>\n<p>관리 명령을 사용하고 콘솔 출력을 제공하려면 “stdout”과 “stderr”로 직접 인쇄하지 말고 “self.stdout”과 “self.stderr”로 써야 합니다. 이러한 프록시를 사용하면 사용자 지정 명령을 훨씬 쉽게 테스트할 수 있습니다. 또한 다음과 같은 “ending” 매개 변수를 지정하지 않으면 메시지를 새 줄 문자로 끝낼 필요가 없습니다.</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</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=\"Code code\"><code><span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">stdout</span><span class=\"o\">.</span><span class=\"n\">write</span><span class=\"p\">(</span><span class=\"s2\">&quot;Unterminated line&quot;</span><span class=\"p\">,</span> <span class=\"n\">ending</span><span class=\"o\">=</span><span class=\"s2\">&quot;&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n</aside>\n<p>새로운 커스텀 커맨드는 <code class=\"docutils literal notranslate\"><span class=\"pre\">python</span> <span class=\"pre\">manage.py</span> <span class=\"pre\">closepoll</span> <span class=\"pre\">1</span></code>.를 사용하여 부를 수 있다</p>\n<p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>handle()” 방식은 하나 이상의 <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>poll_ids”를 가져다가 <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">``</span></a>poll. opened”를 각각 “False”로 설정한다. 사용자가 존재하지 않는 폴링을 참조한 경우:exc:Command Error가 발생합니다. “poll.opened” 속성은 :doc:”tutorial”에 존재하지 않으며 이 예시에서는 “polls.models.example’에 추가되었다</p>\n<section id=\"accepting-optional-arguments\">\n<span id=\"custom-commands-options\"></span><h2>선택적 인수 수락<a class=\"heading-anchor\" href=\"#accepting-optional-arguments\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>동일한 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>closepoll”를 쉽게 수정해 추가 명령줄 옵션을 수용함으로써 해당 여론조사를 마감하는 대신 삭제할 수 있다. 이러한 사용자 지정 옵션은 다음과 같은 :meth:’~BaseCommand.add_arguments 메서드에 추가할 수 있습니다.</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</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=\"Code code\"><code><span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Command</span><span class=\"p\">(</span><span class=\"n\">BaseCommand</span><span class=\"p\">):</span>\n    <span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">add_arguments</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"n\">parser</span><span class=\"p\">):</span>\n        <span class=\"c1\"># Positional arguments</span>\n        <span class=\"n\">parser</span><span class=\"o\">.</span><span class=\"n\">add_argument</span><span class=\"p\">(</span><span class=\"s2\">&quot;poll_ids&quot;</span><span class=\"p\">,</span> <span class=\"n\">nargs</span><span class=\"o\">=</span><span class=\"s2\">&quot;+&quot;</span><span class=\"p\">,</span> <span class=\"nb\">type</span><span class=\"o\">=</span><span class=\"nb\">int</span><span class=\"p\">)</span>\n\n        <span class=\"c1\"># Named (optional) arguments</span>\n        <span class=\"n\">parser</span><span class=\"o\">.</span><span class=\"n\">add_argument</span><span class=\"p\">(</span>\n            <span class=\"s2\">&quot;--delete&quot;</span><span class=\"p\">,</span>\n            <span class=\"n\">action</span><span class=\"o\">=</span><span class=\"s2\">&quot;store_true&quot;</span><span class=\"p\">,</span>\n            <span class=\"n\">help</span><span class=\"o\">=</span><span class=\"s2\">&quot;Delete poll instead of closing it&quot;</span><span class=\"p\">,</span>\n        <span class=\"p\">)</span>\n\n    <span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">handle</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"o\">*</span><span class=\"n\">args</span><span class=\"p\">,</span> <span class=\"o\">**</span><span class=\"n\">options</span><span class=\"p\">):</span>\n        <span class=\"c1\"># ...</span>\n        <span class=\"k\">if</span> <span class=\"n\">options</span><span class=\"p\">[</span><span class=\"s2\">&quot;delete&quot;</span><span class=\"p\">]:</span>\n            <span class=\"n\">poll</span><span class=\"o\">.</span><span class=\"n\">delete</span><span class=\"p\">()</span>\n        <span class=\"c1\"># ...</span>\n</code></pre></div>\n<p>해당 옵션(이 예시에서는 <code class=\"docutils literal notranslate\"><span class=\"pre\">delete</span></code>)은 핸들 메서드의 options 딕셔너리 매개변수에서 사용할 수 있습니다. <code class=\"docutils literal notranslate\"><span class=\"pre\">add_argument</span></code> 사용에 대한 자세한 내용은 Python의 <a class=\"reference external\" href=\"https://docs.python.org/3/library/argparse.html#module-argparse\" title=\"(Python v3.14에서)\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">argparse</span></code></a> 문서를 참고하세요.</p>\n<p>사용자 지정 명령줄 옵션을 추가할 수 있을 뿐만 아니라 모든 :doc:’관리 명령’은 :option:’–verbity’ 및 :option:’–traceback’과 같은 기본 옵션을 사용할 수 있습니다.</p>\n</section>\n<section id=\"management-commands-and-locales\">\n<span id=\"id1\"></span><h2>관리 명령 및 로케일<a class=\"heading-anchor\" href=\"#management-commands-and-locales\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>기본적으로 관리 명령은 현재 활성 로케일로 실행됩니다.</p>\n<p>어떤 이유로 사용자 지정 관리 명령이 활성 로케일 없이 실행되어야 하는 경우(예: 변환된 콘텐츠가 데이터베이스에 삽입되지 않도록 하려면, 다음 방법:meth:’~BaseCommand.handle’에서 “&#64;no_translations’ decorator”를 사용하여 변환을 비활성화하십시오.</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</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=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.core.management.base</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">BaseCommand</span><span class=\"p\">,</span> <span class=\"n\">no_translations</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Command</span><span class=\"p\">(</span><span class=\"n\">BaseCommand</span><span class=\"p\">):</span>\n    <span class=\"o\">...</span>\n\n    <span class=\"nd\">@no_translations</span>\n    <span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">handle</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"o\">*</span><span class=\"n\">args</span><span class=\"p\">,</span> <span class=\"o\">**</span><span class=\"n\">options</span><span class=\"p\">):</span> <span class=\"o\">...</span>\n</code></pre></div>\n<p>변환 비활성화에는 구성된 설정에 대한 액세스 권한이 필요하므로 구성된 설정 없이 작동하는 명령에는 장식자를 사용할 수 없습니다.</p>\n</section>\n<section id=\"testing\">\n<h2>테스트중<a class=\"heading-anchor\" href=\"#testing\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>사용자 지정 관리 명령의 테스트 방법에 대한 정보는 :ref:’testing documents’에서 확인할 수 있습니다.</p>\n</section>\n<section id=\"overriding-commands\">\n<span id=\"id2\"></span><h2>명령 재정의<a class=\"heading-anchor\" href=\"#overriding-commands\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Django는 내장 명령을 등록한 다음 :seting:’에서 명령어를 검색한다.`INSTALLED_APPs는 역방향입니다. 검색 중에 명령 이름이 이미 등록된 명령을 중복하면 새로 검색된 명령이 첫 번째 명령을 재정의합니다.</p>\n<p>즉, 명령을 재정의하려면 새 명령의 이름이 동일해야 하며 해당 앱은 재정의된 명령의 앱 앞에 있어야 합니다. setting:’INSTALLED_APPS.</p>\n<p>의도하지 않게 재정의된 타사 앱의 관리 명령은 오버라이드 커맨드의 “Command” 를 들여오는 프로젝트의 앱(:setting:<a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>INSTALLED_APPS`으로 서드파티 앱 앞에 주문된 ) 중 하나에 새 명령을 만들어 새 이름으로 사용할 수 있습니다</p>\n</section>\n<section id=\"command-objects\">\n<h2>커맨드 개체<a class=\"heading-anchor\" href=\"#command-objects\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.core.management.BaseCommand\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">BaseCommand</span></span><a class=\"heading-anchor\" href=\"#django.core.management.BaseCommand\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>모든 관리 명령이 궁극적으로 파생되는 기본 클래스입니다.</p>\n<p>명령줄 인수를 구문 분석하고 응답으로 호출할 코드를 알아내는 모든 메커니즘에 액세스하려면 이 클래스를 사용합니다. 이러한 동작을 변경할 필요가 없으면 ref:’subclasses’ 중 하나를 사용하십시오.</p>\n<p>:클래스 하위 분류:’BaseCommand’ 클래스는 :meth:’~BaseCommand.handle’ 메소드를 구현해야 합니다.</p>\n<section id=\"attributes\">\n<h3>속성<a class=\"heading-anchor\" href=\"#attributes\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>모든 속성은 파생 클래스에서 설정할 수 있으며:class:BaseCommand’s :ref:<a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>subclasses1에서 사용할 수 있습니다.</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.core.management.BaseCommand.help\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">BaseCommand.</span></span><span class=\"sig-name descname\"><span class=\"pre\">help</span></span><a class=\"heading-anchor\" href=\"#django.core.management.BaseCommand.help\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>사용자가 <code class=\"docutils literal notranslate\"><span class=\"pre\">python</span> <span class=\"pre\">manage&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\">``python</span> <span class=\"pre\">manage.py</span> <span class=\"pre\">help</span> <span class=\"pre\">1</span></code>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.core.management.BaseCommand.missing_args_message\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">BaseCommand.</span></span><span class=\"sig-name descname\"><span class=\"pre\">missing_args_message</span></span><a class=\"heading-anchor\" href=\"#django.core.management.BaseCommand.missing_args_message\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>명령에서 필수 위치 인수를 정의한 경우, 인수가 누락되었을 때 반환되는 오류 메시지를 사용자 정의할 수 있습니다. 기본적으로 :mod:<a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>argparse`에서 “too few arguments”(인수가 너무 적음) 메시지가 출력됩니다.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.core.management.BaseCommand.output_transaction\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">BaseCommand.</span></span><span class=\"sig-name descname\"><span class=\"pre\">output_transaction</span></span><a class=\"heading-anchor\" href=\"#django.core.management.BaseCommand.output_transaction\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>명령어가 SQL 문을 출력하는지 여부를 나타내는 부울로, “True”일 경우 출력은 자동으로 “BEGIN”과 “COMIT”로 포장된다. 기본값은 “False”입니다.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.core.management.BaseCommand.requires_migrations_checks\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">BaseCommand.</span></span><span class=\"sig-name descname\"><span class=\"pre\">requires_migrations_checks</span></span><a class=\"heading-anchor\" href=\"#django.core.management.BaseCommand.requires_migrations_checks\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>불. “True”인 경우 명령은 디스크의 마이그레이션 집합이 데이터베이스의 마이그레이션과 일치하지 않을 경우 경고를 인쇄합니다. 경고는 명령 실행을 차단하지 않습니다. 기본값은 “False”입니다.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.core.management.BaseCommand.requires_system_checks\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">BaseCommand.</span></span><span class=\"sig-name descname\"><span class=\"pre\">requires_system_checks</span></span><a class=\"heading-anchor\" href=\"#django.core.management.BaseCommand.requires_system_checks\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>태그 리스트나 튜플, 예: <code class=\"docutils literal notranslate\"><span class=\"pre\">[Tags.staticfiles,</span> <span class=\"pre\">Tags.models]</span></code>. 시스템 검사 <span class=\"xref std std-ref\">선택한 태그&lt;registering-labeling-checks&gt;에 등록됨`은 명령을 실행하기 전에 오류를 검사합니다. 값 `</span>’__all__’<a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>은 모든 시스템 검사가 수행되어야 함을 지정하는 데 사용할 수 있습니다. 기본값은 <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>’__all__’<a href=\"#id5\"><span class=\"problematic\" id=\"id6\">``</span></a>입니다.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.core.management.BaseCommand.style\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">BaseCommand.</span></span><span class=\"sig-name descname\"><span class=\"pre\">style</span></span><a class=\"heading-anchor\" href=\"#django.core.management.BaseCommand.style\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>“stdout” 또는 “stderr”에 쓸 때 컬러 출력을 생성하는 데 도움이 되는 인스턴스 속성이다. 예를 들어:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</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=\"Code code\"><code><span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">stdout</span><span class=\"o\">.</span><span class=\"n\">write</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">style</span><span class=\"o\">.</span><span class=\"n\">SUCCESS</span><span class=\"p\">(</span><span class=\"s2\">&quot;...&quot;</span><span class=\"p\">))</span>\n</code></pre></div>\n<p>색상표를 수정하는 방법과 사용 가능한 스타일을 보려면  <a class=\"reference internal\" href=\"/ko/6.1/ref/django-admin/#syntax-coloring\"><span class=\"std std-ref\">Syntax coloring</span></a> 을 참조하십시오(이 절에서 설명하는 “roles”의 대문자 버전 사용).</p>\n<p>명령을 실행할 때 “-no-color” 옵션을 통과하면 모든 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>self.style()” 호출이 원래 문자열을 무색하게 반환됩니다.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.core.management.BaseCommand.suppressed_base_arguments\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">BaseCommand.</span></span><span class=\"sig-name descname\"><span class=\"pre\">suppressed_base_arguments</span></span><a class=\"heading-anchor\" href=\"#django.core.management.BaseCommand.suppressed_base_arguments\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>도움말 출력에서 억제할 기본 명령 옵션입니다. 이것은 옵션 이름의 집합이어야 합니다(예: <code class=\"docutils literal notranslate\"><span class=\"pre\">'--verbosity'</span></code>). 억제된 옵션의 기본값은 여전히 전달됩니다.</p>\n</dd></dl>\n\n</section>\n<section id=\"methods\">\n<h3>메소드<a class=\"heading-anchor\" href=\"#methods\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>:class:’BaseCommand’에는 무시할 수 있는 몇 가지 방법이 있지만 :meth:’~BaseCommand.handle’ 방법만 구현하면 됩니다.</p>\n<aside class=\"admonition-implementing-a-constructor-in-a-subclass admonition\">\n<p class=\"admonition-title\">하위 클래스에 생성자 구현</p>\n<p>__init__”을(를) :class:’BaseCommand’의 하위 클래스에서 구현할 경우 :classBaseCommand의 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>__init__”:를 호출해야 합니다.</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</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=\"Code code\"><code><span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Command</span><span class=\"p\">(</span><span class=\"n\">BaseCommand</span><span class=\"p\">):</span>\n    <span class=\"k\">def</span><span class=\"w\"> </span><span class=\"fm\">__init__</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"o\">*</span><span class=\"n\">args</span><span class=\"p\">,</span> <span class=\"o\">**</span><span class=\"n\">kwargs</span><span class=\"p\">):</span>\n        <span class=\"nb\">super</span><span class=\"p\">()</span><span class=\"o\">.</span><span class=\"fm\">__init__</span><span class=\"p\">(</span><span class=\"o\">*</span><span class=\"n\">args</span><span class=\"p\">,</span> <span class=\"o\">**</span><span class=\"n\">kwargs</span><span class=\"p\">)</span>\n        <span class=\"c1\"># ...</span>\n</code></pre></div>\n</aside>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.core.management.BaseCommand.create_parser\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">BaseCommand.</span></span><span class=\"sig-name descname\"><span class=\"pre\">create_parser</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">prog_name</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">subcommand</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">kwargs</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.management.BaseCommand.create_parser\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>“CommandParser” 인스턴스를 반환하는데,  이 인스턴스는  Django에 대한 사용자 지정이 몇 가지 있는:class:<a class=\"reference external\" href=\"https://docs.python.org/3/library/argparse.html#argparse.ArgumentParser\" title=\"(Python v3.14에서)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ArgumentParser</span></code></a> 서브클래스이다</p>\n<p>You can customize the instance by overriding this method and calling\n<code class=\"docutils literal notranslate\"><span class=\"pre\">super()</span></code> with <code class=\"docutils literal notranslate\"><span class=\"pre\">kwargs</span></code> of <a class=\"reference external\" href=\"https://docs.python.org/3/library/argparse.html#argparse.ArgumentParser\" title=\"(Python v3.14에서)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ArgumentParser</span></code></a>\nparameters.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.core.management.BaseCommand.add_arguments\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">BaseCommand.</span></span><span class=\"sig-name descname\"><span class=\"pre\">add_arguments</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">parser</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.management.BaseCommand.add_arguments\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>명령에 전달된 명령줄 인수를 처리할 구문 분석기 인수를 추가하는 진입점입니다. 사용자 지정 명령은 이 메서드를 재정의하여 명령에서 수락한 위치 및 선택적 인수를 모두 추가해야 합니다. “BaseCommand”를 직접 하위 분류할 때는 “super()”라고 부를 필요가 없다.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.core.management.BaseCommand.get_version\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">BaseCommand.</span></span><span class=\"sig-name descname\"><span class=\"pre\">get_version</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.management.BaseCommand.get_version\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>내장된 모든 Django 명령에 대해 정확해야 하는 Django 버전을 반환합니다. 사용자 제공 명령은 해당 버전을 반환하기 위해 이 방법을 재정의할 수 있습니다.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.core.management.BaseCommand.execute\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">BaseCommand.</span></span><span class=\"sig-name descname\"><span class=\"pre\">execute</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">*</span></span><span class=\"n\"><span class=\"pre\">args</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.management.BaseCommand.execute\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>필요한 경우 시스템 검사를 수행하여 이 명령을 실행하시오( :attr:’requires_system_checks’ 속성에 의해 제어됨). 커맨드가 <a class=\"reference internal\" href=\"#django.core.management.CommandError\" title=\"django.core.management.CommandError\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">CommandError</span></code></a> 을 보여주는 경우, 중간에 가로채져 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>stderr``에 출력될 것입니다.</p>\n</dd></dl>\n\n<aside class=\"admonition-calling-a-management-command-in-your-code admonition\">\n<p class=\"admonition-title\">코드에서 관리 명령 호출</p>\n<p>명령을 실행하기 위해 코드에서 직접 “execute”를 불러서는 안 된다. 대신 func:’~django.core.management.call_command’를 사용합니다.</p>\n</aside>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.core.management.BaseCommand.handle\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">BaseCommand.</span></span><span class=\"sig-name descname\"><span class=\"pre\">handle</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">*</span></span><span class=\"n\"><span class=\"pre\">args</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.management.BaseCommand.handle\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>명령의 실제 논리입니다. 하위 클래스는 이 방법을 구현해야 합니다.</p>\n<p>그것은 “stdout”으로 인쇄될 문자열을 반환할 수도 있다. (‘BEGIN’과 ‘’COMIT’’로 포장된 문자열:attr:’output_transaction’이 “true”일 경우)</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.core.management.BaseCommand.check\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">BaseCommand.</span></span><span class=\"sig-name descname\"><span class=\"pre\">check</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">app_configs</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">tags</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">display_num_errors</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">include_deployment_checks</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">fail_level</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">checks.ERROR</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">databases</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.management.BaseCommand.check\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>시스템 검사 프레임워크를 사용하여 전체 장고 프로젝트에 잠재적인 문제가 있는지 검사합니다. 심각한 문제는 다음과 같이 제기됩니다:exc:CommandError;경고는 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>stderr``로 출력되고 경미한 알림은 <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>stdout``으로 출력됩니다.</p>\n<p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>app_configs``와 <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>tags``가 모두 <a href=\"#id5\"><span class=\"problematic\" id=\"id6\">``</span></a>None``인 경우, 배포 및 데이터베이스 관련 검사를 제외한 모든 시스템 검사가 수행됩니다. <a href=\"#id7\"><span class=\"problematic\" id=\"id8\">``</span></a>tags``는 <a href=\"#id9\"><span class=\"problematic\" id=\"id10\">``</span></a>compatibility``나 <a href=\"#id11\"><span class=\"problematic\" id=\"id12\">``</span></a>models``와 같은 검사 태그의 목록일 수 있습니다.</p>\n<p><a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>include_deployment_checks=True``를 전달하면 배포 검사도 수행할 수 있으며 <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>databases``에 데이터베이스 별칭 목록을 지정하면 데이터베이스 관련 검사가 실행할 수 있습니다.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.core.management.BaseCommand.get_check_kwargs\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">BaseCommand.</span></span><span class=\"sig-name descname\"><span class=\"pre\">get_check_kwargs</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.management.BaseCommand.get_check_kwargs\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><a class=\"reference internal\" href=\"#django.core.management.BaseCommand.check\" title=\"django.core.management.BaseCommand.check\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">check()</span></code></a> 호출에 사용할 kwargs를 제공하며, 이 과정에는 <a class=\"reference internal\" href=\"#django.core.management.BaseCommand.requires_system_checks\" title=\"django.core.management.BaseCommand.requires_system_checks\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">requires_system_checks</span></code></a> 값을 <code class=\"docutils literal notranslate\"><span class=\"pre\">tag</span></code> kwarg로 변환하는 작업도 포함됩니다.</p>\n<p>:meth:<a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>check`에 제공되는 값을 변경하려면 이 메서드를 오버라이드하세요. 예를 들어, 데이터베이스 관련 검사를 사용하려면 다음과 같이 <a href=\"#id3\"><span class=\"problematic\" id=\"id4\">``</span></a>get_check_kwargs()``를 오버라이드하면 됩니다:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</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=\"Code code\"><code><span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">get_check_kwargs</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"n\">options</span><span class=\"p\">):</span>\n    <span class=\"n\">kwargs</span> <span class=\"o\">=</span> <span class=\"nb\">super</span><span class=\"p\">()</span><span class=\"o\">.</span><span class=\"n\">get_check_kwargs</span><span class=\"p\">(</span><span class=\"n\">options</span><span class=\"p\">)</span>\n    <span class=\"k\">return</span> <span class=\"p\">{</span><span class=\"o\">**</span><span class=\"n\">kwargs</span><span class=\"p\">,</span> <span class=\"s2\">&quot;databases&quot;</span><span class=\"p\">:</span> <span class=\"p\">[</span><span class=\"n\">options</span><span class=\"p\">[</span><span class=\"s2\">&quot;database&quot;</span><span class=\"p\">]]}</span>\n</code></pre></div>\n</dd></dl>\n\n</section>\n<section id=\"basecommand-subclasses\">\n<span id=\"ref-basecommand-subclasses\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">BaseCommand</span></code> 하위 클래스<a class=\"heading-anchor\" href=\"#basecommand-subclasses\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.core.management.AppCommand\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">AppCommand</span></span><a class=\"heading-anchor\" href=\"#django.core.management.AppCommand\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>하나 이상의 설치된 응용 프로그램 레이블을 인수로 사용하고 각 레이블로 작업을 수행하는 관리 명령입니다.</p>\n<p>서브클래스는 :meth:’~BaseCommand.handle’을 구현하기 보다는 :meth:’~AppCommand.handle_app_config’를 구현해야 하며, 각 애플리케이션마다 한 번씩 호출된다.</p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.core.management.AppCommand.handle_app_config\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">AppCommand.</span></span><span class=\"sig-name descname\"><span class=\"pre\">handle_app_config</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">app_config</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.management.AppCommand.handle_app_config\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>“app_config”에 대한 명령의 작업을 수행합니다. 이 작업은 :class가 됩니다.’~django.the’AppConfig’ 인스턴스는 명령줄에 지정된 애플리케이션 레이블에 해당합니다.</p>\n</dd></dl>\n\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.core.management.LabelCommand\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">LabelCommand</span></span><a class=\"heading-anchor\" href=\"#django.core.management.LabelCommand\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>명령줄에서 하나 이상의 임의 인수(라벨)를 가져와 각 인수와 작업을 수행하는 관리 명령입니다.</p>\n<p>서브클래스는 :meth:’~BaseCommand.handle’을 구현하기 보다는 :meth:’~LabelCommand.handle_label’을 구현해야 하며, 각 레이블에 대해 한 번 호출된다.</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.core.management.LabelCommand.label\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">LabelCommand.</span></span><span class=\"sig-name descname\"><span class=\"pre\">label</span></span><a class=\"heading-anchor\" href=\"#django.core.management.LabelCommand.label\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>명령에 전달된 임의 인수를 설명하는 문자열입니다. 문자열은 명령의 사용 텍스트 및 오류 메시지에 사용됩니다. 기본값은 “‘label‘“입니다.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.core.management.LabelCommand.handle_label\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">LabelCommand.</span></span><span class=\"sig-name descname\"><span class=\"pre\">handle_label</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">label</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">options</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.management.LabelCommand.handle_label\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>명령줄에 지정된 문자열인 “라벨”에 대해 명령의 작업을 수행합니다.</p>\n</dd></dl>\n\n</section>\n<section id=\"command-exceptions\">\n<h3>예외적 명령<a class=\"heading-anchor\" href=\"#command-exceptions\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py exception\">\n<dt class=\"sig sig-object py\" id=\"django.core.management.CommandError\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">exception</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">CommandError</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">returncode</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">1</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.management.CommandError\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>관리 명령을 실행하는 동안 문제를 나타내는 예외 클래스입니다.</p>\n<p>명령줄 콘솔에서 관리 명령을 실행하는 동안 이 예외가 발생하면 해당 명령이 캡처되어 적절한 출력 스트림(예, <code class=\"docutils literal notranslate\"><span class=\"pre\">stderr</span></code>)으로 인쇄된 오류 메시지로 전환됩니다. 따라서 오류에 대한 적절한 설명을 통해 이 예외를 발생시키는 것이 좋습니다.명령을 잘못 실행하다 그것은 :func:’sys.exit’을 사용하여 관리 명령의 종료 상태를 사용자 정의하기 위한 선택적인 <code class=\"docutils literal notranslate\"><span class=\"pre\">returncode</span></code> 주장을 수용한다.</p>\n<p>코드에서 :func:’~django.core.management.call_command’까지 관리 명령이 호출되면 필요할 때 예외를 잡는 것은 사용자의 몫입니다.</p>\n</section>\n</section>","rootId":"module-django.core.management","toc":[{"title":"선택적 인수 수락","anchor":"accepting-optional-arguments","children":[]},{"title":"관리 명령 및 로케일","anchor":"management-commands-and-locales","children":[]},{"title":"테스트중","anchor":"testing","children":[]},{"title":"명령 재정의","anchor":"overriding-commands","children":[]},{"title":"커맨드 개체","anchor":"command-objects","children":[{"title":"속성","anchor":"attributes","children":[]},{"title":"메소드","anchor":"methods","children":[]},{"title":"BaseCommand 하위 클래스","anchor":"basecommand-subclasses","children":[]},{"title":"예외적 명령","anchor":"command-exceptions","children":[]}]}],"breadcrumbs":[{"docname":"howto/index","title":"How-to 가이드","url":"/ko/6.1/howto/"}],"prev":{"docname":"howto/custom-file-storage","title":"커스텀 스토리지 클래스를 작성하는 방법","url":"/ko/6.1/howto/custom-file-storage/"},"next":{"docname":"howto/custom-shell","title":"shell 명령을 사용자 정의하는 방법","url":"/ko/6.1/howto/custom-shell/"},"formats":{"html":"/ko/6.1/howto/custom-management-commands/","markdown":"/ko/6.1/howto/custom-management-commands.md","json":"/ko/6.1/howto/custom-management-commands.json"},"source":"https://github.com/django/django/blob/stable/6.1.x/docs/howto/custom-management-commands.txt","official":"https://docs.djangoproject.com/ko/6.1/howto/custom-management-commands/","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"]}