{"title":"Django를 최신 버전으로 업그레이드하는 방법","version":"5.1","locale":"ko","docname":"howto/upgrade-version","url":"/ko/5.1/howto/upgrade-version/","canonical":"https://djangodocs.dev/ko/5.1/howto/upgrade-version/","summary":"때로는 복잡한 프로세스일 수도 있지만 최신 Django 버전으로 업그레이드하면 다음과 같은 여러 가지 이점이 있습니다. 새로운 기능과 향상된 기능이 추가되었습니다. 버그 수정되었습니다. 이전 버전의 Django는 결국 더 이상 보안 업데이트를 받지 않습니다. (ref:’지원-포함-정책’ 참조)…","html":"<h1>Django를 최신 버전으로 업그레이드하는 방법<a class=\"heading-anchor\" href=\"#how-to-upgrade-django-to-a-newer-version\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>때로는 복잡한 프로세스일 수도 있지만 최신 Django 버전으로 업그레이드하면 다음과 같은 여러 가지 이점이 있습니다.</p>\n<ul class=\"simple\">\n<li><p>새로운 기능과 향상된 기능이 추가되었습니다.</p></li>\n<li><p>버그 수정되었습니다.</p></li>\n<li><p>이전 버전의 Django는 결국 더 이상 보안 업데이트를 받지 않습니다. (ref:’지원-포함-정책’ 참조)</p></li>\n<li><p>새로운 Django 릴리스가 출시될 때마다 업그레이드하면 코드베이스를 최신 상태로 유지하여 향후 업그레이드의 부담을 줄일 수 있습니다.</p></li>\n</ul>\n<p>다음은 업그레이드 프로세스를 최대한 원활하게 수행하기 위해 고려해야 할 몇 가지 사항입니다.</p>\n<section id=\"required-reading\">\n<h2>읽는 것이 요구됩니다.<a class=\"heading-anchor\" href=\"#required-reading\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>업그레이드를 처음 하는 경우에는 다른 릴리스 프로세스에 대한 :doc:’가이드’를 읽어보는 것이 유용합니다.</p>\n<p>그런 다음 새 Django 버전에서 변경된 사항을 숙지해야 합니다:</p>\n<ul class=\"simple\">\n<li><p>업그레이드하려는 버전을 포함하여 현재 Django 버전 이후 버전에서 “final” 릴리스별로 “:doc:’release note”를 읽어보십시오.</p></li>\n<li><p>관련 버전에 대한 :doc:’감소 시간표’를 보십시오.</p></li>\n</ul>\n<p>이전 버전과 호환되지 않는 변경 사항에 특히 주의를 기울여 성공적인 업그레이드에 무엇이 필요한지 명확하게 파악합니다.</p>\n<p>둘 이상의 기능 버전(예: 2.0에서 2.2로)을 통해 업그레이드하는 경우 일반적으로 각 기능 릴리스에 대한 모든 내용을 한 번에 변경하는 것보다 각 기능 릴리스(2.0에서 2.1에서 2.2)를 통해 업그레이드하는 것이 더 쉽습니다. 각 기능 릴리스에 대해 최신 패치 릴리스(예: 2.1의 경우 2.1.15 사용)를 사용합니다.</p>\n<p>한 LTS에서 다음 LTS로 업그레이드할 때도 동일한 증분 업그레이드 방법을 사용하는 것이 좋습니다.</p>\n</section>\n<section id=\"dependencies\">\n<h2>의존성<a class=\"heading-anchor\" href=\"#dependencies\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>대부분의 경우 Django 관련 종속성의 최신 버전으로 업그레이드해야 합니다. 최근에 Django 버전이 릴리스되었거나 일부 종속성이 제대로 유지되지 않은 경우 일부 종속성이 새 Django 버전을 아직 지원하지 않을 수 있습니다. 이러한 경우 종속성의 새 버전이 릴리스될 때까지 기다려야 할 수도 있습니다.</p>\n</section>\n<section id=\"resolving-deprecation-warnings\">\n<h2>사용 중지 경고를 해결하는 중입니다.<a class=\"heading-anchor\" href=\"#resolving-deprecation-warnings\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>업그레이드하기 전에 현재 버전의 Django를 사용하는 동안 프로젝트에서 발생하는 모든 사용 중단 경고를 해결하는 것이 좋습니다. 업그레이드하기 전에 이러한 경고를 수정하면 변경해야 하는 코드 영역에 대한 정보를 얻을 수 있습니다.</p>\n<p>Python에서는 기본적으로 사용되지 않음 경고가 표시되지 않습니다. “-Wa’ Python 명령줄 옵션 또는 :envvar:”PYthon WARINGS” 환경 변수를 사용하여 이 옵션을 켜야 합니다. 예를 들어 테스트를 실행하는 동안 경고를 표시하려면 다음을 수행합니다.</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>python<span class=\"w\"> </span>-Wa<span class=\"w\"> </span>manage.py<span class=\"w\"> </span><span class=\"nb\">test</span>\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> py -Wa manage.py test\n</code></pre></div></div></div>\n<p>Django 테스트 러너를 사용하지 않는 경우, 지원 중단 경고를 숨기는 콘솔 출력이 캡처되지 않았는지 확인해야 할 수도 있습니다. 예를 들어 <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">`</span></a>pytest &lt;<a class=\"reference external\" href=\"https://docs.pytest.org/\">https://docs.pytest.org/</a>&gt;`__를 사용하는 경우:</p>\n<div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span><span class=\"nv\">PYTHONWARNINGS</span><span class=\"o\">=</span>always<span class=\"w\"> </span>pytest<span class=\"w\"> </span>tests<span class=\"w\"> </span>--capture<span class=\"o\">=</span>no\n</code></pre></div>\n<p>업그레이드 프로세스를 계속하기 전에 현재 버전의 Django를 사용하여 더 이상 사용되지 않는 경고를 해결하십시오.</p>\n<p>타사 응용 프로그램은 여러 버전의 Django를 지원하기 위해 사용되지 않는 API를 사용할 수 있으므로 설치한 패키지의 사용되지 않음 경고가 반드시 문제를 나타내는 것은 아닙니다. 패키지가 최신 버전의 Django를 지원하지 않는 경우 문제를 제기하거나 Django에 대한 꺼내기 요청을 보내는 것을 고려하십시오.</p>\n</section>\n<section id=\"installation\">\n<h2>설치, 설치본<a class=\"heading-anchor\" href=\"#installation\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>준비가 되면 :doc:’새 Django 버전을 설치해야 합니다. :mod:’가상 환경’을 사용하는 경우 주요 업그레이드인 경우 먼저 모든 종속성을 포함하는 새 환경을 설정할 수 있습니다.</p>\n<p>ip_와 함께 django를 설치했다면 “–upgrade” 또는 “-U” 플래그를 사용할 수 있습니다.</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-1-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>python<span class=\"w\"> </span>-m<span class=\"w\"> </span>pip<span class=\"w\"> </span>install<span class=\"w\"> </span>-U<span class=\"w\"> </span>Django\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-1-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> py -m pip install -U Django\n</code></pre></div></div></div>\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>새 환경이 설정되면 :doc:’전체 테스트 스위트’를 실행합니다. 다시 말해, 사용되지 않는 경고를 테스트 출력에 표시하도록 켜는 것이 유용합니다. <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">``</span></a>manage.py runserver”를 사용하여 앱을 수동으로 테스트하는 경우에도 플래그를 사용할 수 있습니다.</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>-Wa<span class=\"w\"> </span>manage.py<span class=\"w\"> </span><span class=\"nb\">test</span>\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 -Wa manage.py test\n</code></pre></div></div></div>\n<p>테스트를 실행한 후 오류를 수정하십시오. 릴리스 노트를 새로이 마음에 두고 있지만 사용 중인 코드를 리팩터링하여 더 이상 사용하지 않도록 함으로써 Django의 새로운 기능을 활용할 수도 있습니다.</p>\n</section>\n<section id=\"deployment\">\n<h2>배치<a class=\"heading-anchor\" href=\"#deployment\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>당신의 앱이 새로운 버전의 Django와 잘 작동한다고 확신하면, 당신은 당신의 업그레이드된 Django 프로젝트를 진행할 준비가 되어 있습니다.</p>\n<p>Django에서 제공하는 캐시를 사용하는 경우 업그레이드 후 캐시 지우기를 고려해야 합니다. 그렇지 않으면 예를 들어 절인 개체를 캐싱하는 경우 문제가 발생할 수 있습니다. 이러한 개체는 Django 버전에서 피클 호환이 보장되지 않기 때문입니다. 과거 비호환성의 인스턴스는 caching peilt:class였습니다.’~django.the’ 입니다.HttpResponse’ 객체는 :func:’~django를 통해 직접 또는 간접적으로 생성됩니다.inviews.incache.cache_page’ decorator입니다.</p>\n</section>","rootId":"how-to-upgrade-django-to-a-newer-version","toc":[{"title":"읽는 것이 요구됩니다.","anchor":"required-reading","children":[]},{"title":"의존성","anchor":"dependencies","children":[]},{"title":"사용 중지 경고를 해결하는 중입니다.","anchor":"resolving-deprecation-warnings","children":[]},{"title":"설치, 설치본","anchor":"installation","children":[]},{"title":"테스트중","anchor":"testing","children":[]},{"title":"배치","anchor":"deployment","children":[]}],"breadcrumbs":[{"docname":"howto/index","title":"How-to guides","url":"/ko/5.1/howto/"}],"prev":{"docname":"howto/delete-app","title":"How to delete a Django application","url":"/ko/5.1/howto/delete-app/"},"next":{"docname":"howto/windows","title":"윈도우즈에 Django 설치하기","url":"/ko/5.1/howto/windows/"},"formats":{"html":"/ko/5.1/howto/upgrade-version/","markdown":"/ko/5.1/howto/upgrade-version.md","json":"/ko/5.1/howto/upgrade-version.json"},"source":"https://github.com/django/django/blob/stable/5.1.x/docs/howto/upgrade-version.txt","official":"https://docs.djangoproject.com/ko/5.1/howto/upgrade-version/","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","zh-hans","fr","ja","id","it","pt-br","ko","es","el","pl"]}