{"id":575012,"date":"2025-06-13T14:37:23","date_gmt":"2025-06-13T13:37:23","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=pycharm&#038;p=575012"},"modified":"2025-06-16T11:32:06","modified_gmt":"2025-06-16T10:32:06","slug":"the-ultimate-guide-to-django-templates","status":"publish","type":"pycharm","link":"https:\/\/blog.jetbrains.com\/ko\/pycharm\/2025\/06\/the-ultimate-guide-to-django-templates\/","title":{"rendered":"Django \ud15c\ud50c\ub9bf \ucd1d\uc815\ub9ac \uac00\uc774\ub4dc"},"content":{"rendered":"<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-575199 size-full\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/06\/PC-social-BlogFeatured-1280x720-2x-15.png\" alt=\"\" width=\"2560\" height=\"1440\" \/><\/figure>\n<p>Django \ud15c\ud50c\ub9bf\uc740 \ud504\ub808\uc784\uc6cc\ud06c\uc758 \uc911\uc694\ud55c \ubd80\ubd84\uc785\ub2c8\ub2e4. \ud15c\ud50c\ub9bf\uc774 \ubb34\uc5c7\uc774\uba70 \uc65c \uc720\uc6a9\ud55c\uc9c0 \uc774\ud574\ud558\uba74 <a href=\"https:\/\/blog.jetbrains.com\/pycharm\/2023\/11\/what-is-the-django-web-framework\/\" data-type=\"link\" data-id=\"https:\/\/www.jetbrains.com\/pycharm\/web-development\/django\/\">Django<\/a> \uc0ac\uc774\ud2b8\uc640 \uc571\uc5d0 \ub300\ud574 \uc6d0\ud65c\ud558\uace0 \uc720\uc5f0\ud558\uba70 \uae30\ub2a5\uc801\uc778 \ud15c\ud50c\ub9bf\uc744 \uad6c\ucd95\ud558\ub294 \ub370 \ub3c4\uc6c0\uc774 \ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\ud504\ub808\uc784\uc6cc\ud06c\ub97c \ucc98\uc74c \uc811\ud558\uace0 \uccab \ubc88\uc9f8 <a href=\"https:\/\/www.jetbrains.com\/help\/pycharm\/creating-and-running-your-first-django-project.html\" target=\"_blank\" rel=\"noopener\">Django \ud504\ub85c\uc81d\ud2b8<\/a>\ub97c \uc124\uc815\ud558\ub824\uace0 \ud560 \ub54c \ud15c\ud50c\ub9bf\uc744 \uc774\ud574\ud558\ub294 \uac83\uc774 \uc911\uc694\ud569\ub2c8\ub2e4. \uc774 \uac00\uc774\ub4dc\uc5d0\uc11c\ub294 Django \ud15c\ud50c\ub9bf\uc758 \uc885\ub958\uc640 \uc0ac\uc6a9 \ubc29\ubc95\uc744 \ud3ec\ud568\ud558\uc5ec \uc54c\uc544\uc57c \ud560 \ubaa8\ub4e0 \ub0b4\uc6a9\uc744 \ub2e4\ub8f9\ub2c8\ub2e4.<\/p>\n<h2 class=\"wp-block-heading\">Django \ud15c\ud50c\ub9bf\uc774\ub780?<\/h2>\n<p><a href=\"https:\/\/www.jetbrains.com\/help\/pycharm\/templates.html\" target=\"_blank\" rel=\"noopener\">Django \ud15c\ud50c\ub9bf<\/a>\uc740 Django \ud504\ub808\uc784\uc6cc\ud06c\uc758 \uae30\ubcf8\uc801\uc778 \uad6c\uc131 \uc694\uc18c\uc785\ub2c8\ub2e4. \ud15c\ud50c\ub9bf\uc744 \uc0ac\uc6a9\ud558\uba74 \uc0ac\uc774\ud2b8\uc758 \uc2dc\uac01\uc801 \ud45c\ud604\uc744 \uae30\ubcf8 \ucf54\ub4dc\uc640 \ubd84\ub9ac\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ud15c\ud50c\ub9bf\uc5d0\ub294 \uc6d0\ud558\ub294 HTML \ucd9c\ub825\uc758 \uc815\uc801 \ubd80\ubd84\uacfc \ub3d9\uc801 \ucf58\ud150\uce20 \uc0bd\uc785 \ubc29\ubc95\uc744 \uc124\uba85\ud558\ub294 \ud2b9\uc218 \uad6c\ubb38\uc774 \ud3ec\ud568\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uacb0\uacfc\uc801\uc73c\ub85c \ud15c\ud50c\ub9bf\uc740 \uc644\uc804\ud55c \uc6f9 \ud398\uc774\uc9c0\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\uc9c0\ub9cc \ub370\uc774\ud130\ubca0\uc774\uc2a4 \ucffc\ub9ac \ubc0f \uae30\ud0c0 \ub370\uc774\ud130 \ucc98\ub9ac \uc791\uc5c5\uc740 <a href=\"https:\/\/blog.jetbrains.com\/pycharm\/2025\/01\/django-views\/\" data-type=\"link\" data-id=\"https:\/\/blog.jetbrains.com\/pycharm\/2025\/01\/django-views\/\">\ubdf0<\/a>\uc640 <a href=\"https:\/\/docs.djangoproject.com\/en\/5.1\/topics\/db\/models\/\" target=\"_blank\" rel=\"noopener\">\ubaa8\ub378<\/a>\uc5d0\uc11c \ucc98\ub9ac\ud569\ub2c8\ub2e4. \uc774\ub7ec\ud55c \ubd84\ub9ac\ub294 HTML\uc758 \ube44\uc988\ub2c8\uc2a4 \ub85c\uc9c1\uc744 Django \ud504\ub85c\uc81d\ud2b8\uc758 \ub098\uba38\uc9c0 Python \ucf54\ub4dc\uc640 \ubd84\ub9ac\ud558\uc5ec \uae54\ub054\ud558\uace0 \uc720\uc9c0 \uad00\ub9ac\uac00 \uc6a9\uc774\ud55c \ucf54\ub4dc\ub97c \ubcf4\uc7a5\ud569\ub2c8\ub2e4. \ud15c\ud50c\ub9bf\uc774 \uc5c6\uc73c\uba74 HTML\uc744 Python \ucf54\ub4dc\uc5d0 \uc9c1\uc811 \uc784\ubca0\ub529\ud574\uc57c \ud558\ubbc0\ub85c \ucf54\ub4dc\uc758 \uac00\ub3c5\uc131\uc774 \ub0ae\uc544\uc9c0\uace0 \ub514\ubc84\uadf8\uac00 \uc5b4\ub824\uc6cc\uc9d1\ub2c8\ub2e4.<\/p>\n<p>\ub2e4\uc74c\uc740 \uc77c\ubd80 HTML, \ubcc0\uc218 &#8216;<code>name<\/code>&#8216;, \uae30\ubcf8 &#8216;<code>if\/else<\/code>&#8216; \ub85c\uc9c1\uc774 \ud3ec\ud568\ub41c Django \ud15c\ud50c\ub9bf\uc758 \uc608\uc2dc\uc785\ub2c8\ub2e4<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"html\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;h1>Welcome!&lt;\/h1>\n\n\n{% if name %}\n  &lt;h1>Hello, {{ name }}!&lt;\/h1>\n{% else %}\n  &lt;h1>Hello, Guest!&lt;\/h1>\n{% endif %}\n&lt;h1>{{ heading }}&lt;\/h1><\/pre>\n<h3 class=\"wp-block-heading\">\ud15c\ud50c\ub9bf \uc0ac\uc6a9\uc758 \uc774\uc810<\/h3>\n<p>\uac1c\ubc1c\uc790\ub294 Django \ud15c\ud50c\ub9bf\uc744 \uc0ac\uc6a9\ud558\uc5ec \ube60\ub974\uace0 \ud6a8\uc728\uc801\uc73c\ub85c \uc548\uc815\uc801\uc778 \uc571\uc744 \ube4c\ub4dc\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ud15c\ud50c\ub9bf\uc758 \ub2e4\ub978 \uc8fc\uc694 \uc774\uc810\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<ul>\n<li><strong>\ucf54\ub4dc \uc7ac\uc0ac\uc6a9\uc131<\/strong>: \ud398\uc774\uc9c0\uc640 \uc571 \uc804\ubc18\uc5d0\uc11c \uc77c\uad00\uc131\uc744 \uc720\uc9c0\ud558\uae30 \uc704\ud574 \uc7ac\uc0ac\uc6a9 \uac00\ub2a5\ud55c \uad6c\uc131 \uc694\uc18c\uc640 \ub808\uc774\uc544\uc6c3\uc744 \ub9cc\ub4e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<li><strong>\uc720\uc9c0 \uad00\ub9ac\uc758 \uc6a9\uc774\ud568<\/strong>: \uae30\ubcf8 \ub85c\uc9c1\uc744 \ubcc0\uacbd\ud558\uc9c0 \uc54a\uace0\ub3c4 \uc6f9 \ud398\uc774\uc9c0\uc758 \ud615\ud0dc\ub97c \uc218\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<li><strong>\uac00\ub3c5\uc131 \ud5a5\uc0c1<\/strong>: \ubcf5\uc7a1\ud55c \ub85c\uc9c1 \uc5c6\uc774\ub3c4 HTML \ucf54\ub4dc\ub97c \uae54\ub054\ud558\uace0 \uc774\ud574\ud558\uae30 \uc27d\uac8c \uc720\uc9c0\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<li><strong>\ud15c\ud50c\ub9bf \uc0c1\uc18d<\/strong>: \uacf5\ud1b5 \uad6c\uc870\uc640 \ub808\uc774\uc544\uc6c3\uc744 \uc815\uc758\ud558\uc5ec \uc911\ubcf5\uc744 \uc904\uc774\uace0 \uc77c\uad00\uc131\uc744 \ub192\uc77c \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<li><strong>\ub3d9\uc801 \ucf58\ud150\uce20<\/strong>: \uc0ac\uc6a9\uc790 \uc785\ub825 \ubc0f \ub370\uc774\ud130 \ubcc0\ud654\uc5d0 \ub530\ub77c \ub9de\ucda4\ud615 \uc6f9 \ud398\uc774\uc9c0\ub97c \uad6c\ucd95\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<li><strong>\uc131\ub2a5 \ucd5c\uc801\ud654<\/strong>: \ud15c\ud50c\ub9bf\uc744 \uce90\uc2dc \ucc98\ub9ac\ud558\uc5ec \uc571 \ub610\ub294 \uc6f9\uc0ac\uc774\ud2b8 \uc131\ub2a5\uc744 \uac1c\uc120\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<h3 class=\"wp-block-heading\">\uacfc\uc81c\uc640 \ud55c\uacc4<\/h3>\n<p>\ud15c\ud50c\ub9bf\uc740 Django\uc5d0\uc11c \uc6f9 \ud398\uc774\uc9c0\ub97c \ub80c\ub354\ub9c1\ud558\ub294 \ub370 \ud544\uc218\uc801\uc774\uc9c0\ub9cc, \ud2b9\ud788 \ub300\uaddc\ubaa8 \ub370\uc774\ud130 \uc138\ud2b8\uc758 \ubcf5\uc7a1\ud55c \ud504\ub85c\uc81d\ud2b8\uc5d0\uc11c\ub294 \uc0ac\uc6a9\uc5d0 \uc2e0\uc911\ud574\uc57c \ud569\ub2c8\ub2e4. Django\uc758 \ud15c\ud50c\ub9bf \uc5b8\uc5b4\ub294 \ube44\uad50\uc801 \ub2e8\uc21c\ud568\uc5d0\ub3c4 \ubd88\uad6c\ud558\uace0 \uc218\ub9ce\uc740 \uc911\ucca9 \ud0dc\uadf8, \ud544\ud130 \ubc0f \uc0c1\uc18d\uc774 \ud3ec\ud568\ub41c \uacfc\ub3c4\ud558\uac8c \ubcf5\uc7a1\ud55c \ud15c\ud50c\ub9bf\uc740 \uc720\uc9c0 \uad00\ub9ac\uac00 \uc5b4\ub824\uc6b8 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ud15c\ud50c\ub9bf\uc5d0 \uacfc\ub3c4\ud55c \ub85c\uc9c1\uc744 \ud3ec\ud568\ud558\ub294 \ub300\uc2e0, \ud0ec\ud50c\ub9bf\uc758 \uc2dc\uac01\uc801 \ud45c\ud604\uc5d0 \uc9d1\uc911\ud574\uc57c \ud569\ub2c8\ub2e4. \uc0ac\uc6a9\uc790 \uc9c0\uc815 \uc635\uc158\ub3c4 \uace0\uc720\ud55c \uc0ac\uc6a9\uc790 \uc9c0\uc815 \ud0dc\uadf8\ub098 \ud544\ud130\ub97c \ub9cc\ub4e4\uc9c0 \uc54a\ub294 \ud55c \uc81c\ud55c\uc801\uc785\ub2c8\ub2e4.<\/p>\n<p>Django\uc758 \uae30\ubcf8 \uc5d4\uc9c4\uc740 <a href=\"https:\/\/blog.jetbrains.com\/pycharm\/2023\/11\/what-is-the-django-web-framework\/\">\ud504\ub808\uc784\uc6cc\ud06c<\/a>\uc5d0 \ubc00\uc811\ud558\uac8c \uc5f0\uacb0\ub418\uc5b4 \uc788\uae30 \ub54c\ubb38\uc5d0 \ub2e4\ub978 \ud15c\ud50c\ub9bf \uc5d4\uc9c4\uc73c\ub85c \ub9c8\uc774\uadf8\ub808\uc774\uc158\ud558\ub294 \uac83\uc740 \uc5b4\ub824\uc6b8 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub7ec\ub098 Jinja\uc640 \uac19\uc740 \ub300\uc548\uc73c\ub85c\ub294 \ube44\uad50\uc801 \uac04\ub2e8\ud788 \ubc14\uafc0 \uc218 \uc788\uc73c\uba70 \uc774 \uac00\ub2a5\uc131\uc5d0 \ub300\ud574\uc11c\ub294 \uc774 \uac00\uc774\ub4dc \ud6c4\ubc18\uc5d0\uc11c \ub2e4\ub8e8\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n<h3 class=\"wp-block-heading\">Django \ud15c\ud50c\ub9bf \ub514\ubc84\uadf8<\/h3>\n<p>\ubb38\uc81c\uac00 \ubc1c\uc0dd\ud558\ub294 \ub4f1\uc758 \ud2b9\uc815 \uc0c1\ud669\uc5d0\uc11c\ub294 \ud15c\ud50c\ub9bf\uc758 \uc791\ub3d9 \ubc29\uc2dd\uc744 \uc544\ub294 \uac83\uc774 \uc720\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub97c \uc704\ud574 \ud15c\ud50c\ub9bf \ub514\ubc84\uadf8\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\ud15c\ud50c\ub9bf \ub514\ubc84\uadf8\ub294 HTML\uacfc \ub3d9\uc801 \ub370\uc774\ud130\uac00 \uc0c1\ud638 \uc791\uc6a9\ud558\ub294 \ubc29\uc2dd\uc5d0\uc11c \uc624\ub958\ub97c \uc2dd\ubcc4\ud558\ub294 \ub370 \uc911\uc810\uc744 \ub461\ub2c8\ub2e4. \uc77c\ubc18\uc801\uc778 \ubb38\uc81c\ub85c\ub294 \ub204\ub77d\ub41c \ubcc0\uc218, \uc798\ubabb\ub41c \ud15c\ud50c\ub9bf \ud0dc\uadf8, \ub17c\ub9ac \uc624\ub958 \ub4f1\uc774 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\ub2e4\ud589\ud788\ub3c4 Django\ub294 <code>{{ debug }}<\/code> \uac19\uc740 \uc720\uc6a9\ud55c \ub3c4\uad6c\uac00 \uc788\uc5b4 \ud15c\ud50c\ub9bf\uc744 \uac80\uc0ac\ud558\uace0 \ubb38\uc81c\uac00 \uc788\ub294 \uc704\uce58\ub97c \uac15\uc870\ud558\ub294 \uc790\uc138\ud55c \uc624\ub958 \ud398\uc774\uc9c0\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4. \uc774\ub97c \ud1b5\ud574 \ubb38\uc81c\ub97c \uc27d\uac8c \ucc3e\uc544\ub0b4\uace0 \ud574\uacb0\ud558\uc5ec \ud15c\ud50c\ub9bf\uc774 \uc608\uc0c1\ub300\ub85c \ub80c\ub354\ub9c1\ub418\ub3c4\ub85d \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h2 class=\"wp-block-heading\">Django \ud15c\ud50c\ub9bf \uc5b8\uc5b4(DTL) \uc774\ud574<\/h2>\n<p>Django \ud15c\ud50c\ub9bf \uc5b8\uc5b4(DTL)\ub294 \ub3d9\uc801 \uc6f9 \ud398\uc774\uc9c0 \uc0dd\uc131\uc744 \uac04\uc18c\ud654\ud558\ub3c4\ub85d \uc124\uacc4\ub41c Django\uc758 \uae30\ubcf8 \uc81c\uacf5 \ud15c\ud50c\ub9bf \uc5d4\uc9c4\uc785\ub2c8\ub2e4. HTML\uacfc Django \uc804\uc6a9 \ud0dc\uadf8 \ubc0f \ud544\ud130\uac00 \uc6d0\ud65c\ud558\uac8c \ud63c\ud569\ub418\ubbc0\ub85c <a href=\"https:\/\/blog.jetbrains.com\/pycharm\/2023\/04\/create-a-django-app-in-pycharm\/\">Django \uc571<\/a>\uc5d0\uc11c \uc9c1\uc811 \ud48d\ubd80\ud55c \ub370\uc774\ud130 \uae30\ubc18 \ucf58\ud150\uce20\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\uc81c DTL\uc744 \uac15\ub825\ud55c \ud15c\ud50c\ub9bf \ub3c4\uad6c\ub85c \ub9cc\ub4e4\uc5b4\uc8fc\ub294 \uc8fc\uc694 \uae30\ub2a5\uc744 \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n<h3 class=\"wp-block-heading\">DTL \uae30\ubcf8 \uad6c\ubb38 \ubc0f \uad6c\uc870<\/h3>\n<p>Django \ud15c\ud50c\ub9bf\uc740 HTML\uacfc DTL \uad6c\ubb38\uc758 \uc870\ud569\uc73c\ub85c \uc791\uc131\ub429\ub2c8\ub2e4. Django \ud15c\ud50c\ub9bf\uc758 \uae30\ubcf8 \uad6c\uc870\ub294 HTML \ub9c8\ud06c\uc5c5\uacfc Django \ud0dc\uadf8 \ubc0f \ubcc0\uc218\uac00 \ud3ec\ud568\ub41c \ud615\ud0dc\ub85c \uad6c\uc131\ub429\ub2c8\ub2e4.<\/p>\n<p>\uc608\ub97c \ub4e4\uba74 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"html\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;!DOCTYPE html>\n&lt;html>\n  &lt;head>\n    &lt;title>{{ page_title }}&lt;\/title>\n  &lt;\/head>\n  &lt;body>\n    &lt;h1>{{ heading }}&lt;\/h1>\n    &lt;ul>\n      {% for item in item_list %}\n        &lt;li>{{ item.name }}&lt;\/li>\n      {% endfor %}\n    &lt;\/ul>\n  &lt;\/body>\n&lt;\/html><\/pre>\n<h3 class=\"wp-block-heading\">\ubcc0\uc218, \ud544\ud130 \ubc0f \ud0dc\uadf8<\/h3>\n<p>DTL\uc5d0\ub294 \ubcc0\uc218, \ud544\ud130 \ubc0f \ud0dc\uadf8 \uc791\uc5c5\uc744 \uc704\ud55c \uba87 \uac00\uc9c0 \uae30\ub2a5\uc774 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<ul>\n<li><strong>\ubcc0\uc218<\/strong>: \ubcc0\uc218\ub294 \ud15c\ud50c\ub9bf\uc5d0 \ub3d9\uc801 \ub370\uc774\ud130\ub97c \ud45c\uc2dc\ud569\ub2c8\ub2e4. \ubcc0\uc218\ub294 \uc774\uc911 \uc911\uad04\ud638\ub85c \ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4(\uc608: <code>{{ variable_name }}<\/code>).<\/li>\n<li><strong>\ud544\ud130<\/strong>: \ud544\ud130\ub294 \ubcc0\uc22b\uac12\uc744 \ub80c\ub354\ub9c1\ud558\uae30 \uc804\uc5d0 \uc218\uc815\ud558\uac70\ub098 \uc11c\uc2dd\uc744 \uc9c0\uc815\ud558\uba70 \ud30c\uc774\ud504 \ubb38\uc790(|)\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc801\uc6a9\ub429\ub2c8\ub2e4(\uc608: <code>{{ variable_name|upper }}<\/code>).<\/li>\n<li><strong>\ud0dc\uadf8<\/strong>: \ud0dc\uadf8\ub294 \ud15c\ud50c\ub9bf\uc758 \ub85c\uc9c1\uacfc \ud750\ub984\uc744 \uc81c\uc5b4\ud569\ub2c8\ub2e4. <code>{% %}<\/code> \ube14\ub85d\uc73c\ub85c \uac10\uc2f8\uc838 \uc788\uc73c\uba70, \ubc18\ubcf5\ubb38, \uc870\uac74\ubb38, \ud15c\ud50c\ub9bf \ud3ec\ud568\uacfc \uac19\uc740 \ub2e4\uc591\ud55c \uc791\uc5c5\uc744 \uc218\ud589\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/www.jetbrains.com\/pycharm\/web-development\/django\/\" target=\"_blank\" rel=\"noopener\">PyCharm<\/a>\uc740 Django \uac1c\ubc1c\uc744 \uc704\ud55c \uc804\ubb38 IDE\ub85c, Django \ud15c\ud50c\ub9bf \uc791\uc5c5\uc744 \ubcf4\ub2e4 \uc27d\uac8c \ub9cc\ub4e4\uc5b4\uc90d\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4 \ud0dc\uadf8, \ubcc0\uc218, HTML\uc744 \uc0c9\uc0c1\uc73c\ub85c \uad6c\ubd84\ud558\uc5ec \ud45c\uc2dc\ud558\ub294 \uad6c\ubb38 \uac15\uc870 \uae30\ub2a5\uc744 \ud1b5\ud574 \uac00\ub3c5\uc131\uc744 \ub192\uc5ec\uc90d\ub2c8\ub2e4. \ub610\ud55c, \uc2e4\uc2dc\uac04 \uc624\ub958 \uac10\uc9c0 \uae30\ub2a5\uc744 \uc81c\uacf5\ud558\uc5ec \ub2eb\ub294 \ud0dc\uadf8 \ub204\ub77d\uc774\ub098 \uad6c\ubb38 \uc624\ub958\ub97c \ubc29\uc9c0\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ubcc0\uc218\uc640 \ud0dc\uadf8\uc5d0 \ub300\ud55c \uc790\ub3d9 \uc644\uc131 \uae30\ub2a5\uc744 \uc0ac\uc6a9\ud558\uba74 \uc2e4\uc218\ub97c \uc904\uc774\uace0 \ub354 \ube60\ub974\uac8c \ucf54\ub529\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<figure class=\"wp-block-video\"><video controls src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/02\/1.mov\"><\/video><\/figure>\n<div class=\"buttons\">\n<div class=\"buttons__row\"><a class=\"btn\" href=\"https:\/\/www.jetbrains.com\/pycharm\/web-development\/django\/\" target=\"\" rel=\"noopener\">PyCharm Pro \ubb34\ub8cc\ub85c \uc2dc\uc791\ud558\uae30<\/a><\/div>\n<\/div>\n<h3 class=\"wp-block-heading\">\ud15c\ud50c\ub9bf \uc0c1\uc18d \ubc0f \uae30\ubcf8 \ud15c\ud50c\ub9bf \ud655\uc7a5<\/h3>\n<p>\ud504\ub808\uc784\uc6cc\ud06c\uc758 \ud15c\ud50c\ub9bf \uc0c1\uc18d \uc2dc\uc2a4\ud15c\uc744 \uc0ac\uc6a9\ud558\uba74 \uc6f9\uc0ac\uc774\ud2b8 \ub610\ub294 \uc571\uc758 \ud45c\uc900 \uad6c\uc870\uc640 \ub808\uc774\uc544\uc6c3\uc774 \ud3ec\ud568\ub41c \uae30\ubcf8 \ud15c\ud50c\ub9bf\uc744 \ub9cc\ub4e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uadf8\ub7f0 \ub2e4\uc74c \uae30\ubcf8 \ud15c\ud50c\ub9bf\uc744 \uc0c1\uc18d\ud558\ub294 \ud558\uc704 \ud15c\ud50c\ub9bf\uc744 \ub9cc\ub4e4\uace0 \ud544\uc694\uc5d0 \ub530\ub77c \ud2b9\uc815 \uc139\uc158 \ube14\ub85d\uc744 \uc7ac\uc815\uc758\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub807\uac8c \ud558\uba74 \uc5ec\ub7ec \ud15c\ud50c\ub9bf\uc5d0\uc11c \ucf54\ub4dc\ub97c \uc7ac\uc0ac\uc6a9\ud558\uace0 \uc77c\uad00\uc131\uc744 \uc720\uc9c0\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uae30\ubcf8 \ud15c\ud50c\ub9bf\uc744 \ub9cc\ub4e4\ub824\uba74 <code>{% block %}<\/code> \ud0dc\uadf8\ub97c \uc0ac\uc6a9\ud558\uc5ec \ube14\ub85d\uc744 \uc815\uc758\ud569\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"html\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;!-- base.html -->\n&lt;!DOCTYPE html>\n&lt;html>\n  &lt;head>\n    &lt;title>{% block title %}Default Title{% endblock %}&lt;\/title>\n  &lt;\/head>\n  &lt;body>\n    {% block content %}\n    {% endblock %}\n  &lt;\/body>\n&lt;\/html><\/pre>\n<p>\ud558\uc704 \ud15c\ud50c\ub9bf\uc740 \uae30\ubcf8 \ud15c\ud50c\ub9bf\uc744 \ud655\uc7a5\ud558\uace0 \ud2b9\uc815 \ube14\ub85d\uc744 \uc7ac\uc815\uc758\ud569\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"html\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;!-- child_template.html -->\n{% extends 'base.html' %}\n\n{% block title %}My Page Title{% endblock %}\n\n{% block content %}\n  &lt;h1>My Page Content&lt;\/h1>\n  &lt;p>This is the content of my page.&lt;\/p>\n{% endblock %}<\/pre>\n<h2 class=\"wp-block-heading\">Django \ud15c\ud50c\ub9bf \ud0dc\uadf8<\/h2>\n<p>\ud0dc\uadf8\ub294 Django \ud15c\ud50c\ub9bf\uc758 \ud544\uc218 \uc694\uc18c\uc785\ub2c8\ub2e4. \uc774\ub4e4\uc740 \uc870\uac74\ubd80 \ub80c\ub354\ub9c1, \ubc18\ubcf5\ubb38, \ud15c\ud50c\ub9bf \uc0c1\uc18d \ubc0f \ud3ec\ud568\uacfc \uac19\uc740 \ub2e4\uc591\ud55c \uae30\ub2a5\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/p>\n<p>\ub354 \uc790\uc138\ud788 \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n<h3 class=\"wp-block-heading\">\uc77c\ubc18\uc801\uc778 \ud15c\ud50c\ub9bf \ud0dc\uadf8<\/h3>\n<p>Django\uc5d0\ub294 \uc5ec\ub7ec \ud15c\ud50c\ub9bf \ud0dc\uadf8\uac00 \uc788\uc9c0\ub9cc \uac00\uc7a5 \uc790\uc8fc \uc0ac\uc6a9\ud558\uac8c \ub420 \ud15c\ud50c\ub9bf \ud0dc\uadf8\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<ul>\n<li><code>{% if %}<\/code>: \uc774 \ud0dc\uadf8\ub97c \uc0ac\uc6a9\ud558\uba74 \ud2b9\uc815 \uc870\uac74\uc5d0 \ub530\ub77c \ucf58\ud150\uce20\ub97c \uc870\uac74\ubd80\ub85c \ub80c\ub354\ub9c1\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc885\uc885 <code>{% else %}<\/code> \ubc0f <code>{% elif %}<\/code> \ud0dc\uadf8\uc640 \ud568\uaed8 \uc0ac\uc6a9\ub429\ub2c8\ub2e4.<\/li>\n<li><code>{% for %}<\/code>: <code>{% for %}<\/code> \ud0dc\uadf8\ub294 \ub9ac\uc2a4\ud2b8\ub098 \ucffc\ub9ac \uc138\ud2b8\uc640 \uac19\uc740 \uc2dc\ud000\uc2a4\ub97c \ubc18\ubcf5\ud558\uba70, \uc2dc\ud000\uc2a4\uc5d0\uc11c \uac01 \ud56d\ubaa9\uc758 \ucf58\ud150\uce20\ub97c \ub80c\ub354\ub9c1\ud558\ub294 \ub370 \uc0ac\uc6a9\ub429\ub2c8\ub2e4.<\/li>\n<li><code>{% include %}<\/code>: \uc774 \ud0dc\uadf8\ub97c \uc0ac\uc6a9\ud558\uba74 \ud604\uc7ac \ud15c\ud50c\ub9bf \ub0b4\uc5d0 \ub2e4\ub978 \ud15c\ud50c\ub9bf \ud30c\uc77c\uc758 \ucf58\ud150\uce20\ub97c \ud3ec\ud568\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc5ec\ub7ec \ud15c\ud50c\ub9bf\uc5d0\uc11c \uacf5\ud1b5 \ud15c\ud50c\ub9bf \uc2a4\ub2c8\ud3ab\uc744 \uc27d\uac8c \uc7ac\uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<li><code>{% block %}<\/code>: <code>{% block %}<\/code> \ud0dc\uadf8\ub294 \ud15c\ud50c\ub9bf \uc0c1\uc18d\uacfc \ud568\uaed8 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. \uae30\ubcf8 \ud15c\ud50c\ub9bf\uc744 \ud655\uc7a5\ud560 \ub54c \ud558\uc704 \ud15c\ud50c\ub9bf\uc5d0\uc11c \uc7ac\uc815\uc758\ud560 \uc218 \uc788\ub294 \ucf58\ud150\uce20 \ube14\ub85d\uc744 \uc815\uc758\ud569\ub2c8\ub2e4.<\/li>\n<li><code>{% extends %}<\/code>: \uc774 \ud0dc\uadf8\ub294 \uc0c1\uc18d\ud560 \ud604\uc7ac \ud15c\ud50c\ub9bf\uc758 \uae30\ubcf8 \ud15c\ud50c\ub9bf\uc744 \uc9c0\uc815\ud569\ub2c8\ub2e4.<\/li>\n<li><code>{% url %}<\/code>: \uc774 \ud0dc\uadf8\ub294 Django \ud504\ub85c\uc81d\ud2b8\uc5d0\uc11c \uba85\uba85\ub41c URL \ud328\ud134\uc5d0 \ub300\ud55c URL\uc744 \uc0dd\uc131\ud558\ub294 \ub370 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. \uc774\ub97c \ud1b5\ud574 \ud15c\ud50c\ub9bf\uc744 \uc2e4\uc81c URL \uacbd\ub85c\uc640 \ubd84\ub9ac\ud558\uc5ec \uc720\uc9c0\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<li><code>{% load %}<\/code>: <code>{% load %}<\/code> \ud0dc\uadf8\ub294 Python \ubaa8\ub4c8 \ub610\ub294 \ub77c\uc774\ube0c\ub7ec\ub9ac\uc5d0\uc11c \uc0ac\uc6a9\uc790 \uc9c0\uc815 \ud15c\ud50c\ub9bf \ud0dc\uadf8 \ubc0f \ud544\ud130\ub97c \ub85c\ub4dc\ud558\ub294 \ub370 \uc0ac\uc6a9\ub418\uc5b4 Django \ud15c\ud50c\ub9bf \uc2dc\uc2a4\ud15c\uc758 \uae30\ub2a5\uc744 \ud655\uc7a5\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<p>\uc774\uc0c1\uc740 Django\uc5d0\uc11c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \uc218\ub9ce\uc740 \ud15c\ud50c\ub9bf \ud0dc\uadf8 \uc911 \uc77c\ubd80 \uc608\uc77c \ubfd0\uc785\ub2c8\ub2e4. <code>{% with %}<\/code>, <code>,{% cycle %}<\/code>, <code>{% comment %}<\/code> \ub4f1\uacfc \uac19\uc740 \ud0dc\uadf8\ub294 \uace0\uae09 \ud504\ub85c\uc81d\ud2b8\uc5d0 \ub354 \ub9ce\uc740 \uae30\ub2a5\uc744 \uc81c\uacf5\ud558\uc5ec \ud6a8\uc728\uc801\uc778 \uc0ac\uc6a9\uc790 \uc9c0\uc815 \uc571\uc744 \ube4c\ub4dc\ud558\ub294 \ub370 \ub3c4\uc6c0\uc774 \ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h3 class=\"wp-block-heading\">\ud15c\ud50c\ub9bf \ud0dc\uadf8 \uc0ac\uc6a9<\/h3>\n<p>\ub2e4\uc74c\uc740 Django \ud15c\ud50c\ub9bf\uc5d0\uc11c \ud0dc\uadf8\ub97c \uc0ac\uc6a9\ud558\ub294 \ubc29\ubc95\uc5d0 \ub300\ud55c \uc790\uc138\ud55c \uc608\uc2dc\uc785\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"html\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">{% extends 'base.html' %}\n{% load custom_filters %}\n\n{% block content %}\n  &lt;h1>{{ page_title }}&lt;\/h1>\n  {% if object_list %}\n    &lt;ul>\n      {% for obj in object_list %}\n&lt;!-- We truncate the object name to 25 characters. -->\n        &lt;li>{{ obj.name|truncate:25 }}&lt;\/li>\n      {% endfor %}\n    &lt;\/ul>\n  {% else %}\n    &lt;p>No objects found.&lt;\/p>\n  {% endif %}\n\n  {% include 'partials\/pagination.html' %}\n{% endblock %}<\/pre>\n<p>\uc774 \uc608\uc2dc\uc5d0\uc11c\ub294 \uae30\ubcf8 \ud15c\ud50c\ub9bf\uc744 \ud655\uc7a5\ud558\uace0 \uc0ac\uc6a9\uc790 \uc9c0\uc815 \ud544\ud130\ub97c \ub85c\ub4dc\ud55c \ub2e4\uc74c \uae30\ubcf8 \ucf58\ud150\uce20\uc758 \ube14\ub85d\uc744 \uc815\uc758\ud569\ub2c8\ub2e4.<\/p>\n<p>\ube14\ub85d \ub0b4\uc5d0 <code>object_list<\/code>\uac00 \uc788\ub294\uc9c0 \ud655\uc778\ud558\uace0, \uc788\ub294 \uacbd\uc6b0 \uc774\ub97c \ubc18\ubcf5 \ucc98\ub9ac\ud558\uc5ec \uac01 \uac1d\uccb4\uc758 \uc798\ub9b0 \uc774\ub984\uc744 \ud45c\uc2dc\ud569\ub2c8\ub2e4. \ubaa9\ub85d\uc774 \ube44\uc5b4 \uc788\uc73c\uba74 \u201cNo objects found\u201d(\uac1d\uccb4\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc74c) \uba54\uc2dc\uc9c0\uac00 \ud45c\uc2dc\ub429\ub2c8\ub2e4.<\/p>\n<p>\ub9c8\uc9c0\ub9c9\uc73c\ub85c \ud398\uc774\uc9c0 \ub9e4\uae40\uc744 \uc704\ud55c \ubd80\ubd84 \ud15c\ud50c\ub9bf\uc744 \ud3ec\ud568\ud569\ub2c8\ub2e4. \uc774 \ud15c\ud50c\ub9bf\uc740 \ub2e4\ub978 \ud15c\ud50c\ub9bf\uc5d0 \ud3ec\ud568\ub420 \uc218 \uc788\ub294 \uc7ac\uc0ac\uc6a9 \uac00\ub2a5\ud55c HTML \uc2a4\ub2c8\ud3ab\uc73c\ub85c, \uc774\ub97c \uc774\uc6a9\ud574 \ud398\uc774\uc9c0 \ub9e4\uae40\uacfc \uac19\uc740 \uacf5\ud1b5 \uc694\uc18c\ub97c \ubcf4\ub2e4 \ud6a8\uc728\uc801\uc73c\ub85c \uad00\ub9ac\ud558\uace0 \uc5c5\ub370\uc774\ud2b8\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h2 class=\"wp-block-heading\">Django \uad00\ub9ac\uc790 \ud15c\ud50c\ub9bf<\/h2>\n<p>Django\uc758 \uae30\ubcf8 \uc81c\uacf5 \uad00\ub9ac\uc790 \uc778\ud130\ud398\uc774\uc2a4\ub294 \uc0ac\uc6a9\uc790 \uce5c\ud654\uc801\uc774\uace0 \uc9c1\uad00\uc801\uc778 \ubc29\uc2dd\uc73c\ub85c \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \ub370\uc774\ud130\ub97c \uad00\ub9ac\ud560 \uc218 \uc788\ub294 \ubc29\ubc95\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. \uad6c\uc870, \ub808\uc774\uc544\uc6c3 \ubc0f \ubaa8\uc591\uc744 \uc815\uc758\ud558\ub294 \ud15c\ud50c\ub9bf \uc138\ud2b8\ub97c \uae30\ubc18\uc73c\ub85c \ud569\ub2c8\ub2e4.<\/p>\n<h3 class=\"wp-block-heading\">\uae30\ub2a5<\/h3>\n<p>Django \uad00\ub9ac\uc790 \ud15c\ud50c\ub9bf\uc740 \ub2e4\uc591\ud55c \uc791\uc5c5\uc744 \ucc98\ub9ac\ud569\ub2c8\ub2e4.<\/p>\n<ul>\n<li><strong>\uc778\uc99d<\/strong>: \uc0ac\uc6a9\uc790 \uc778\uc99d, \ub85c\uadf8\uc778 \ubc0f \ub85c\uadf8\uc544\uc6c3\uc744 \uc81c\uc5b4\ud569\ub2c8\ub2e4.<\/li>\n<li><strong>\ubaa8\ub378 \uad00\ub9ac<\/strong>: \ubaa8\ub378 \uc778\uc2a4\ud134\uc2a4 \ubaa9\ub85d\uc744 \ud45c\uc2dc\ud558\uace0 \ud544\uc694\uc5d0 \ub530\ub77c \uc778\uc2a4\ud134\uc2a4\ub97c \uc0dd\uc131, \ud3b8\uc9d1 \ubc0f \uc0ad\uc81c\ud569\ub2c8\ub2e4.<\/li>\n<li><strong>\uc591\uc2dd \ub80c\ub354\ub9c1<\/strong>: \ubaa8\ub378 \uc778\uc2a4\ud134\uc2a4 \uc0dd\uc131 \ubc0f \ud3b8\uc9d1\uc744 \uc704\ud55c \uc591\uc2dd\uc744 \ub80c\ub354\ub9c1\ud569\ub2c8\ub2e4.<\/li>\n<li><strong>\ud0d0\uc0c9<\/strong>: \uae30\ubcf8 \uba54\ub274 \ubc0f \uc571\ubcc4 \ud558\uc704 \uba54\ub274\ub97c \ud3ec\ud568\ud558\uc5ec \uad00\ub9ac\uc790 \uc778\ud130\ud398\uc774\uc2a4\uc758 \ud0d0\uc0c9 \uad6c\uc870\ub97c \ub80c\ub354\ub9c1\ud569\ub2c8\ub2e4.<\/li>\n<li><strong>\ud398\uc774\uc9c0 \ub9e4\uae40<\/strong>: \ubaa8\ub378 \uc778\uc2a4\ud134\uc2a4 \ubaa9\ub85d\uc744 \ud45c\uc2dc\ud560 \ub54c \ud398\uc774\uc9c0 \ub9e4\uae40 \uc81c\uc5b4\ub97c \ub80c\ub354\ub9c1\ud569\ub2c8\ub2e4.<\/li>\n<li><strong>\uae30\ub85d \ucd94\uc801<\/strong>: \ubaa8\ub378 \uc778\uc2a4\ud134\uc2a4\uc758 \ubcc0\uacbd \uae30\ub85d\uc744 \ud45c\uc2dc\ud558\uace0 \uad00\ub9ac\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<p>Django\uc758 \uae30\ubcf8 \uc81c\uacf5 \uad00\ub9ac \ud15c\ud50c\ub9bf\uc740 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \ub370\uc774\ud130\ub97c \uad00\ub9ac\ud558\uae30 \uc704\ud55c \uacac\uace0\ud55c \uae30\ubc18\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/p>\n<h3 class=\"wp-block-heading\">\uad00\ub9ac\uc790 \ud15c\ud50c\ub9bf \uc0ac\uc6a9\uc790 \uc9c0\uc815<\/h3>\n<p>Django\uc758 \uad00\ub9ac\uc790 \ud15c\ud50c\ub9bf\uc740 \uae30\ubcf8\uc801\uc73c\ub85c \ud6cc\ub96d\ud558\uace0 \uae30\ub2a5\uc801\uc778 \uc778\ud130\ud398\uc774\uc2a4\ub97c \uc81c\uacf5\ud558\uc9c0\ub9cc, \uac1c\ubcc4 \ud504\ub85c\uc81d\ud2b8\uc758 \uc694\uad6c \uc0ac\ud56d\uc5d0 \ub9de\uac8c \ubaa8\uc591\uc774\ub098 \ub3d9\uc791\uc744 \uc0ac\uc6a9\uc790 \uc9c0\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\ud504\ub85c\uc81d\ud2b8\uc758 \ube0c\ub79c\ub529\uc5d0 \ub9de\uac8c \ubcc0\uacbd\ud558\uac70\ub098, \uc0ac\uc6a9\uc790 \uacbd\ud5d8\uc744 \uac1c\uc120\ud558\uac70\ub098, \uc571\uc5d0 \uace0\uc720\ud55c \uc0ac\uc6a9\uc790 \uc9c0\uc815 \uae30\ub2a5\uc744 \ucd94\uac00\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uc774\ub97c \uc218\ud589\ud558\ub294 \ubc29\ubc95\uc5d0\ub294 \uc5ec\ub7ec \uac00\uc9c0\uac00 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<ul>\n<li><strong>\ud15c\ud50c\ub9bf \uc7ac\uc815\uc758<\/strong>: \ud504\ub85c\uc81d\ud2b8\uc758 \ud15c\ud50c\ub9bf \ub514\ub809\ud130\ub9ac\uc5d0 \ub3d9\uc77c\ud55c \ud30c\uc77c \uad6c\uc870\uc640 \uba85\uba85 \uaddc\uce59\uc744 \uac00\uc9c4 \ud15c\ud50c\ub9bf\uc744 \ub9cc\ub4e4\uc5b4 \uae30\ubcf8 \uad00\ub9ac\uc790 \ud15c\ud50c\ub9bf\uc744 \uc7ac\uc815\uc758\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub7ec\uba74 Django\ub294 \uae30\ubcf8 \uc81c\uacf5 \ud15c\ud50c\ub9bf \ub300\uc2e0 \uc0ac\uc6a9\uc790 \uc9c0\uc815 \ud15c\ud50c\ub9bf\uc744 \uc790\ub3d9\uc73c\ub85c \uc0ac\uc6a9\ud569\ub2c8\ub2e4.<\/li>\n<li><strong>\uae30\ubcf8 \ud15c\ud50c\ub9bf \ud655\uc7a5<\/strong>: Django\uc758 \ub9ce\uc740 \uad00\ub9ac\uc790 \ud15c\ud50c\ub9bf\uc740 \ud15c\ud50c\ub9bf \uc0c1\uc18d\uc744 \uc0ac\uc6a9\ud558\uc5ec \ube4c\ub4dc\ub429\ub2c8\ub2e4. \uae30\ubcf8 \uad00\ub9ac\uc790 \ud15c\ud50c\ub9bf\uc744 \ud655\uc7a5\ud558\uace0 \ud2b9\uc815 \ube14\ub85d \ub610\ub294 \uc139\uc158\uc744 \uc7ac\uc815\uc758\ud558\ub294 \ud15c\ud50c\ub9bf\uc744 \ub9cc\ub4e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<li><strong>\ud15c\ud50c\ub9bf \uc635\uc158<\/strong>: Django\uc5d0\ub294 \uad00\ub9ac\uc790 \uc778\ud130\ud398\uc774\uc2a4\uc758 \ub3d9\uc791\uc744 \uc0ac\uc6a9\uc790 \uc9c0\uc815\ud560 \uc218 \uc788\ub294 \ub2e4\uc591\ud55c \ud15c\ud50c\ub9bf \uc635\uc158\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uc5ec\uae30\uc5d0\ub294 \ud2b9\uc815 \ud544\ub4dc \ud45c\uc2dc, \ud3b8\uc9d1\ud560 \uc218 \uc788\ub294 \ud544\ub4dc \uc9c0\uc815, \ud2b9\uc815 \ubaa8\ub378 \ud544\ub4dc\uc5d0 \ub300\ud55c \ub9de\ucda4\ud615 \ud15c\ud50c\ub9bf \uc815\uc758 \ub4f1\uc774 \ud3ec\ud568\ub429\ub2c8\ub2e4.<\/li>\n<li><strong>\uad00\ub9ac\uc790 \uc0ac\uc774\ud2b8 \uc0ac\uc6a9\uc790 \uc9c0\uc815<\/strong>: <code>AdminSite<\/code> \ud074\ub798\uc2a4\ub97c \ud558\uc704 \ud074\ub798\uc2a4\ud654\ud558\uace0 \uc0ac\uc6a9\uc790 \uc9c0\uc815 \uad00\ub9ac\uc790 \uc0ac\uc774\ud2b8\ub97c Django\uc5d0 \ub4f1\ub85d\ud558\uc5ec \uad00\ub9ac\uc790 \uc0ac\uc774\ud2b8\uc758 \ubaa8\uc591\uacfc \ub3d9\uc791\uc744 \uc0ac\uc6a9\uc790 \uc9c0\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<h2 class=\"wp-block-heading\">Django\uc758 URL \ud15c\ud50c\ub9bf\ud654<\/h2>\n<p>Django\uc758 URL \ud15c\ud50c\ub9bf\uc740 \uc6f9 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 URL\uc744 \uc815\uc758\ud558\uace0 \uc0dd\uc131\ud558\ub294 \uc720\uc5f0\ud55c \ubc29\ubc95\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/p>\n<h3 class=\"wp-block-heading\">URL \ud15c\ud50c\ub9bf\uc758 \uc774\ud574<\/h3>\n<p>Django\uc5d0\uc11c\ub294 django.urls \ubaa8\ub4c8\uc758 path \ud568\uc218\ub97c \uc0ac\uc6a9\ud558\uc5ec \ud504\ub85c\uc81d\ud2b8\uc758 urls.py \ud30c\uc77c\uc5d0\uc11c URL \ud328\ud134\uc744 \uc815\uc758\ud569\ub2c8\ub2e4.<\/p>\n<p>URL \ud328\ud134\uc740 \ud2b9\uc815 URL \ud328\ud134\uc744 \ud574\ub2f9 HTTP \uc694\uccad\uc744 \ucc98\ub9ac\ud558\ub294 Python \ud568\uc218(\ubdf0)\uc5d0 \ub9e4\ud551\ud569\ub2c8\ub2e4.<\/p>\n<p>\ub2e4\uc74c\uc740 Django\uc758 \uae30\ubcf8 URL \ud328\ud134\uc758 \uc608\uc2dc\uc785\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># urls.py\nfrom django.urls import path\nfrom . import views\n\nurlpatterns = [\n    path('', views.home, name='home'),\n    path('about\/', views.about, name='about'),\n]<\/pre>\n<p>\uc774 \uc608\uc2dc\uc5d0\uc11c URL \ud328\ud134 <code>\u2018 \u2018<\/code>\ub294 <code>views.home<\/code> \ubdf0 \ud568\uc218\uc5d0 \ub9e4\ud551\ub418\uace0 URL \ud328\ud134 <code>'about\/'<\/code>\uc740 <code>views.about<\/code> \ubdf0 \ud568\uc218\uc5d0 \ub9e4\ud551\ub429\ub2c8\ub2e4.<\/p>\n<h3 class=\"wp-block-heading\">URL \ud15c\ud50c\ub9bf\uc744 \uc0ac\uc6a9\ud55c \ub3d9\uc801 URL \uc0dd\uc131<\/h3>\n<p>Django\uc758 URL \ud15c\ud50c\ub9bf\uc744 \uc0ac\uc6a9\ud558\uba74 URL \ud328\ud134\uc5d0 \ubcc0\uc218\ub098 \ub9e4\uac1c\ubcc0\uc218\ub97c \ud3ec\ud568\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc989, \ub3d9\uc77c\ud55c \ub9ac\uc18c\uc2a4\uc758 \ub2e4\ub978 \uc778\uc2a4\ud134\uc2a4\ub97c \ub098\ud0c0\ub0b4\uac70\ub098 \ub354 \ub9ce\uc740 \ub370\uc774\ud130\ub97c \ud3ec\ud568\ud558\ub294 \ub3d9\uc801 URL\uc744 \ub9cc\ub4e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>urls.py \ud30c\uc77c\uc5d0 <code>include()<\/code>\ub97c \uc0ac\uc6a9\ud558\ub294 \uae30\ud0c0 URL \ud30c\uc77c\uc774 \ud3ec\ud568\ub41c \uacbd\uc6b0 PyCharm\uc740 \ubaa8\ub4e0 \uc911\ucca9\ub41c \uacbd\ub85c\ub97c \uc790\ub3d9\uc73c\ub85c \uc218\uc9d1\ud558\uace0 \uc778\uc2dd\ud558\uc5ec URL \uc774\ub984 \uc81c\uc548\uc774 \uc815\ud655\ud558\uac8c \uc720\uc9c0\ub418\ub3c4\ub85d \ud569\ub2c8\ub2e4. URL\uc774 \ud558\uc704 \ud30c\uc77c\uc5d0 \uc815\uc758\ub418\uc5b4 \uc788\uc5b4\ub3c4 URL \uc774\ub984 \uc704\uc5d0\uc11c <em>Ctrl+\ud074\ub9ad<\/em>\uc744 \ub204\ub974\uba74 URL \uc815\uc758\ub85c \uc774\ub3d9\ud55c \ud6c4 \uc18c\uc2a4 \ucf54\ub4dc\ub85c \ubc14\ub85c \uc774\ub3d9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\ubcc0\uc218\uac00 \uc788\ub294 URL \ud15c\ud50c\ub9bf\uc758 \uc608\ub97c \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># urls.py\nurlpatterns = [\n    path('blog\/\/', views.year_archive, name='blog_year_archive'),\n]<\/pre>\n<p>\uc774 \uacbd\uc6b0 URL <code>\u2018blog\/\/\u2019<\/code>\uc5d0\ub294 <code>int<\/code> \ud0c0\uc785\uc758 \ubcc0\uc218 year\uac00 \ud3ec\ud568\ub429\ub2c8\ub2e4. \uc694\uccad\uc774 \uc774 \ud328\ud134\uacfc \uc77c\uce58\ud558\uba74 Django\ub294 \uc5f0\ub3c4 \uac12\uc744 <code>views.year_archive<\/code> \ubdf0 \ud568\uc218\uc5d0 \uc778\uc218\ub85c \uc804\ub2ec\ud569\ub2c8\ub2e4.<\/p>\n<h3 class=\"wp-block-heading\">Django URL \uc0ac\uc6a9<\/h3>\n<p>Django URL\uc740 \ubaa8\ub4e0 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \uae30\ucd08\uc774\uba70 \uc0ac\uc6a9\uc790 \uc694\uccad\uc744 \uc801\uc808\ud55c \ubdf0\uc5d0 \uc5f0\uacb0\ud558\uc5ec \uc791\ub3d9\ud569\ub2c8\ub2e4. Django\ub294 \ud2b9\uc815 \ubdf0\uc640 \uc77c\uce58\ud558\ub294 URL \ud328\ud134\uc744 \uc815\uc758\ud558\uc5ec \uc0ac\uc774\ud2b8\uac00 \uccb4\uacc4\uc131\uacfc \ud655\uc7a5\uc131\uc744 \uc720\uc9c0\ud558\ub3c4\ub85d \ubcf4\uc7a5\ud569\ub2c8\ub2e4.<\/p>\n<h4 class=\"wp-block-heading\">Django\uc758 <code>reverse<\/code> \ud568\uc218\ub85c URL \ud15c\ud50c\ub9bf \uc0ac\uc6a9<\/h4>\n<p>Django\uc758 <code>reverse<\/code> \ud568\uc218\ub294 \uc774\ub984\uc774 \uc9c0\uc815\ub41c URL \ud328\ud134\uc744 \uae30\ubc18\uc73c\ub85c URL\uc744 \uc0dd\uc131\ud560 \uc218 \uc788\ub3c4\ub85d \ud574\uc90d\ub2c8\ub2e4. \uc774 \ud568\uc218\ub294 \ucd94\uac00\ub85c \ud544\uc694\ud55c \uc778\uc218 \uc55e\uc5d0 \uccab \ubc88\uc9f8 \uc778\uc218\ub85c URL \ud328\ud134\uc758 \uc774\ub984\uc744 \ubc1b\uc544 \ud574\ub2f9\ud558\ub294 URL\uc744 \ubc18\ud658\ud569\ub2c8\ub2e4.<\/p>\n<p>\ub2e4\uc74c\uc740 \uc2e4\uc81c \uc0ac\uc6a9 \uc608\uc2dc\uc785\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># views.py\nfrom django.shortcuts import render\nfrom django.urls import reverse\n\ndef blog_post_detail(request, year, month, slug):\n    # ...\n    url = reverse('blog_post_detail', args=[year, month, slug])\n    return render(request, 'blog\/post_detail.html', {'url': url})<\/pre>\n<p>reverse \ud568\uc218\ub294 <code>'blog_post_detail'<\/code> URL \ud328\ud134\uc5d0 \ub300\ud55c URL\uc744 \uc0dd\uc131\ud558\ub294 \ub370 \uc0ac\uc6a9\ub418\uba70, year, month, <a href=\"https:\/\/docs.djangoproject.com\/en\/dev\/glossary\/#term-slug\" target=\"_blank\" rel=\"noopener\">slug<\/a> \uac12\uc744 \uc778\uc218\ub85c \uc804\ub2ec\ud569\ub2c8\ub2e4.<\/p>\n<p>\ubc18\ud658\ub41c URL\uc740 \ud15c\ud50c\ub9bf\uc774\ub098 \ub2e4\ub978 \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \ubd80\ubd84\uc5d0\uc11c \uc0ac\uc6a9 \uac00\ub2a5\ud569\ub2c8\ub2e4.<\/p>\n<h4 class=\"wp-block-heading\">Django \ud15c\ud50c\ub9bf\uc5d0\uc11c URL \ud0dc\uadf8 \uc0ac\uc6a9<\/h4>\n<p>Django\uc758 <code>{% URL %}<\/code> \ud15c\ud50c\ub9bf \ud0dc\uadf8\ub294 \ud15c\ud50c\ub9bf \ub0b4\uc5d0\uc11c \uc9c1\uc811 URL\uc744 \uc0dd\uc131\ud560 \uc218 \uc788\ub294 \uac04\uacb0\ud55c \ubc29\ubc95\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. URL\uc744 \ud558\ub4dc\ucf54\ub529\ud558\ub294 \ub300\uc2e0 \uba85\uba85\ub41c URL \ud328\ud134\uc744 \ucc38\uc870\ud560 \uc218 \uc788\uc73c\ubbc0\ub85c \ud15c\ud50c\ub9bf\uc744 \ub354 \uc720\uc5f0\ud558\uace0 \uc27d\uac8c \uad00\ub9ac\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uc608\ub97c \ub4e4\uba74 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"html\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"><a href=\"{% url 'blog_post_detail' year=2024 month=10 slug=post.slug %}\"> \n\ub354\ubcf4\uae30 \n<\/a><\/pre>\n<p>\uc774 \uacbd\uc6b0 <code>{% url %}<\/code> \ud0dc\uadf8\ub294 <code>blog_post_detail<\/code> \ubdf0\uc758 URL\uc744 \uc0dd\uc131\ud558\uba70, <code>year<\/code>, <code>month<\/code>, <code>slug<\/code> \ub9e4\uac1c\ubcc0\uc218\ub97c \uc804\ub2ec\ud569\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uc778\uc218\uac00 \ub2e4\uc74c\uacfc \uac19\uc774 urls.py \ud30c\uc77c\uc5d0 \uc815\uc758\ub41c URL \ud328\ud134\uacfc \uc77c\uce58\ud558\ub294\uc9c0 \ud655\uc778\ud558\ub294 \uac83\uc774 \uc911\uc694\ud569\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">path('blog\/\/\/\/', views.blog_post_detail, name='blog_post_detail'),<\/pre>\n<p>\uc774 \ubc29\uc2dd\uc744 \ud1b5\ud574 \ud15c\ud50c\ub9bf\uc744 \uae54\ub054\ud558\uace0 \uc720\uc5f0\ud558\uac8c \uc720\uc9c0\ud560 \uc218 \uc788\uc73c\uba70, \ud504\ub85c\uc81d\ud2b8\uac00 \ubc1c\uc804\ud568\uc5d0 \ub530\ub77c \ub354\uc6b1 \uc27d\uac8c \uad00\ub9ac\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h2 class=\"wp-block-heading\">Jinja\uc640 Django \ud15c\ud50c\ub9bf \ube44\uad50<\/h2>\n<p>Django\uc5d0\ub294 \uae30\ubcf8 \uc81c\uacf5 \ud15c\ud50c\ub9bf \uc5d4\uc9c4(DTL)\uc774 \ud3ec\ud568\ub418\uc5b4 \uc788\uc9c0\ub9cc, \uac1c\ubc1c\uc790\ub294 Jinja\uc640 \uac19\uc740 \ub300\uccb4 \uc635\uc158\uc744 \uc0ac\uc6a9\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><a href=\"https:\/\/jinja.palletsprojects.com\/en\/stable\/\" target=\"_blank\" rel=\"noopener\">Jinja<\/a>\ub294 Python\uc6a9\uc73c\ub85c \uac1c\ubc1c\ub41c \uc778\uae30 \uc788\uace0 \ud604\ub300\uc801\uc774\uba70 \uae30\ub2a5\uc774 \ud48d\ubd80\ud55c \ud15c\ud50c\ub9bf \uc5d4\uc9c4\uc785\ub2c8\ub2e4. \ucc98\uc74c\uc5d0\ub294 <a href=\"https:\/\/blog.jetbrains.com\/pycharm\/2023\/11\/django-vs-flask-which-is-the-best-python-web-framework\/\">Flask<\/a> \uc6f9 \ud504\ub808\uc784\uc6cc\ud06c\uc6a9\uc73c\ub85c \uac1c\ubc1c\ub418\uc5c8\uc9c0\ub9cc, Django\uc640\ub3c4 \ud638\ud658\ub429\ub2c8\ub2e4.<\/p>\n<p>\ud574\ub2f9 \uc5d4\uc9c4\uc740 \ube60\ub974\uace0 \uc548\uc804\ud558\uba70 \ud655\uc7a5\uc131\uc774 \ub6f0\uc5b4\ub098\ub3c4\ub85d \uc124\uacc4\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \ud3ed\ub113\uc740 \uae30\ub2a5\uacfc \uac15\ub825\ud55c \uc131\ub2a5 \ub355\ubd84\uc5d0 \ub3d9\uc801 \ucf58\ud150\uce20 \ub80c\ub354\ub9c1\uc5d0 \uc720\uc5f0\ud558\uac8c \ud65c\uc6a9\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>Jinja\uac00 Django\uc758 Django\uc758 DTL\uc640 \ub300\ube44\ud574\uc11c \uac00\uc9c0\ub294 \uc8fc\uc694 \uae30\ub2a5\uacfc \uc7a5\uc810\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<ul>\n<li>\ubcf4\ub2e4 \uac04\uacb0\ud558\uace0 \uc9c1\uad00\uc801\uc778 \uad6c\ubb38.<\/li>\n<li>\uc0cc\ub4dc\ubc15\uc2a4 \uc2e4\ud589\uc73c\ub85c \ucf54\ub4dc \uc778\uc81d\uc158 \uacf5\uaca9\uc73c\ub85c\ubd80\ud130 \ubcf4\uc548 \uac15\ud654.<\/li>\n<li>\ub354\uc6b1 \uc720\uc5f0\ud558\uace0 \uac15\ub825\ud55c \uc0c1\uc18d \uc2dc\uc2a4\ud15c.<\/li>\n<li>\ub354 \ub098\uc740 \ub514\ubc84\uadf8 \ub3c4\uad6c \ubc0f \ubcf4\uace0 \uba54\ucee4\ub2c8\uc998.<\/li>\n<li>\ubcf5\uc7a1\ud55c \ud15c\ud50c\ub9bf\uc774\ub098 \ub300\uc6a9\ub7c9 \ub370\uc774\ud130 \uc138\ud2b8\ub85c \uc791\uc5c5\ud560 \uc2dc\uc5d0\ub3c4 \ub354 \ube60\ub978 \uc131\ub2a5 \uc81c\uacf5.<\/li>\n<li>\uae30\ubcf8 \uc81c\uacf5 \ud544\ud130 \ubc0f \ub9e4\ud06c\ub85c \ud65c\uc6a9\uc744 \ud1b5\ud55c \uae30\ub2a5 \ud5a5\uc0c1\uc73c\ub85c \ud15c\ud50c\ub9bf\uc758 \uac04\uacb0\uc131\uc744 \uc720\uc9c0\ud558\uba74\uc11c\ub3c4 \ub354 \ubcf5\uc7a1\ud55c \ub80c\ub354\ub9c1 \ub85c\uc9c1 \uad6c\ud604 \uac00\ub2a5.<\/li>\n<\/ul>\n<p>PyCharm\uc740 *.jinja \ud30c\uc77c \ud615\uc2dd\uc744 \uc790\ub3d9\uc73c\ub85c \uac10\uc9c0\ud558\uace0 \uad6c\ubb38 \uac15\uc870 \ud45c\uc2dc, \ucf54\ub4dc \uc644\uc131 \ubc0f \uc624\ub958 \uac10\uc9c0\uc640 \ud568\uaed8 \uc0ac\uc6a9\uc790 \uc9c0\uc815 \ud544\ud130 \ubc0f \ud655\uc7a5\uc744 \uc9c0\uc6d0\ud558\uc5ec \uc6d0\ud65c\ud55c \uac1c\ubc1c \ud658\uacbd\uc744 \ubcf4\uc7a5\ud569\ub2c8\ub2e4.<\/p>\n<p>\uc774\ub7ec\ud55c \uc774\uc810\uc5d0\ub3c4 \ubd88\uad6c\ud558\uace0 Jinja\ub97c Django \ud504\ub85c\uc81d\ud2b8\uc5d0 \ud1b5\ud569\ud558\ub824\uba74 \ub354 \ubcf5\uc7a1\ud55c \uc124\uc815\uacfc \ucd94\uac00 \uad6c\uc131\uc774 \ud544\uc694\ud558\ub2e4\ub294 \uc810\ub3c4 \uae30\uc5b5\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<p>\uac1c\ubc1c\uc790\uc5d0 \ub530\ub77c \ubaa8\ub4e0 \uac83\uc744 Django \uc5d0\ucf54\uc2dc\uc2a4\ud15c \ub0b4\uc5d0\uc11c \uc720\uc9c0\ud558\uae30 \uc704\ud574 Django\uc758 \uae30\ubcf8 \uc81c\uacf5 \ud15c\ud50c\ub9bf \uc5d4\uc9c4 \uc0ac\uc6a9\uc744 \uc120\ud638\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h3 class=\"wp-block-heading\">Django \ub77c\uc774\ube0c \ud15c\ud50c\ub9bf\uc73c\ub85c \ub354 \ube60\ub974\uac8c \ucf54\ub529<\/h3>\n<p>PyCharm\uc758 \ub77c\uc774\ube0c \ud15c\ud50c\ub9bf \uae30\ub2a5\uc744 \uc0ac\uc6a9\ud558\uba74 \uac04\ub2e8\ud55c \ud0a4\uc6cc\ub4dc \ub2e8\ucd95\ud0a4\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc790\uc8fc \uc0ac\uc6a9\ud558\ub294 \ucf54\ub4dc \uc2a4\ub2c8\ud3ab\uc744 \ube60\ub974\uac8c \uc0bd\uc785\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\ub77c\uc774\ube0c \ud15c\ud50c\ub9bf\uc744 \uc0ac\uc6a9\ud558\ub824\uba74 <em>\u2318J<\/em>\ub97c \ub204\ub978 \ud6c4, <code>ListView<\/code>\ub97c \uc785\ub825\ud558\uace0 Tab \ud0a4\ub97c \ub204\ub974\uba74 \ub429\ub2c8\ub2e4.<\/p>\n<figure class=\"wp-block-video\"><video src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/02\/2-1.mov\" controls=\"controls\"><\/video><\/figure>\n<p>\uc774\ub807\uac8c \ud558\uba74 \uc0c1\uc6a9\uad6c \ucf54\ub529\uc774 \uc904\uc5b4\ub4e4\uace0 \uac1c\ubc1c \uc18d\ub3c4\uac00 \ube68\ub77c\uc9c0\uba70 \uc77c\uad00\ub41c \uad6c\ubb38\uc744 \uc720\uc9c0\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ud2b9\uc815 \ud504\ub85c\uc81d\ud2b8\uc758 \uc694\uad6c \uc0ac\ud56d\uc5d0 \ub9de\uac8c <strong>\ud15c\ud50c\ub9bf\uc744 \uc0ac\uc6a9\uc790 \uc9c0\uc815\ud558\uac70\ub098 \uc9c1\uc811 \ub9cc\ub4e4 \uc218\ub3c4<\/strong> \uc788\uc2b5\ub2c8\ub2e4. \uc774 \uae30\ub2a5\uc740 \ubc18\ubcf5\ubb38, \uc870\uac74\ubb38, \ube14\ub85d \uad6c\uc870\uac00 \uc790\uc8fc \ubc18\ubcf5\ub418\ub294 DTL \uad6c\ubb38\uc5d0 \ud2b9\ud788 \uc720\uc6a9\ud569\ub2c8\ub2e4.<\/p>\n<h2 class=\"wp-block-heading\">Django \ud15c\ud50c\ub9bf \uc0ac\uc6a9: \ubaa8\ubc94 \uc0ac\ub840 \ubc0f \ud301<\/h2>\n<p>Django \ud15c\ud50c\ub9bf\uc73c\ub85c \uc791\uc5c5\ud558\ub294 \uac83\uc740 \uc6f9 \uc571\uc758 \ud504\ub808\uc820\ud14c\uc774\uc158 \ub808\uc774\uc5b4\ub97c \uad00\ub9ac\ud558\ub294 \uc88b\uc740 \ubc29\ubc95\uc785\ub2c8\ub2e4.<\/p>\n<p>\uadf8\ub7ec\ub098 \ud15c\ud50c\ub9bf\uc744 \uc798 \uc720\uc9c0 \uad00\ub9ac\ud558\uace0 \ubcf4\uc548\uc744 \uac15\ud654\ud558\uba70 \uccb4\uacc4\uc801\uc73c\ub85c \uc815\ub9ac\ud558\ub824\uba74 \uc9c0\uce68\uc744 \ub530\ub974\uace0 \uc131\ub2a5 \ucd5c\uc801\ud654\ub97c \uc218\ud589\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<p>\ub2e4\uc74c\uc740 Django \ud15c\ud50c\ub9bf\uc744 \uc0ac\uc6a9\ud560 \ub54c \uae30\uc5b5\ud574\uc57c \ud560 \uba87 \uac00\uc9c0 \ubaa8\ubc94 \uc0ac\ub840\uc640 \ud301\uc785\ub2c8\ub2e4.<\/p>\n<ul>\n<li><strong>\ud504\ub808\uc820\ud14c\uc774\uc158\uacfc \ube44\uc988\ub2c8\uc2a4 \ub85c\uc9c1\uc744 \ubd84\ub9ac\ud558\uc138\uc694.<\/strong> \ud15c\ud50c\ub9bf\uc740 \ub370\uc774\ud130 \ub80c\ub354\ub9c1\uc5d0 \uc9d1\uc911\ud558\ub3c4\ub85d \uc720\uc9c0\ud558\uace0, \ubcf5\uc7a1\ud55c \ucc98\ub9ac\ub294 \ubdf0 \ub610\ub294 \ubaa8\ub378\uc5d0\uc11c \ucc98\ub9ac\ud558\ub294 \uac83\uc774 \uc88b\uc2b5\ub2c8\ub2e4.<\/li>\n<li><strong>\ud15c\ud50c\ub9bf\uc744 \ub17c\ub9ac\uc801\uc73c\ub85c \uad6c\uc131\ud558\uc138\uc694.<\/strong> \ud544\uc694\uc5d0 \ub530\ub77c \ud558\uc704 \ub514\ub809\ud130\ub9ac\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc571 \ubc0f \uae30\ub2a5\ubcc4\ub85c \ud15c\ud50c\ub9bf\uc744 \ubd84\ub9ac\ud558\uace0 Django\uc758 \ud30c\uc77c \uad6c\uc870\ub97c \ub530\ub985\ub2c8\ub2e4.<\/li>\n<li><strong>Django\uc758 \uba85\uba85 \uaddc\uce59\uc744 \uc0ac\uc6a9\ud558\uc138\uc694.<\/strong> Django\ub294 &#8216;\uad6c\uc131\ubcf4\ub2e4 \uaddc\uce59\uc744 \uc6b0\uc120\uc2dc\ud558\ub294&#8217; \uc6d0\uce59\uc744 \ub530\ub974\ubbc0\ub85c \ud2b9\uc815\ud55c \ubc29\uc2dd\uc73c\ub85c \ud15c\ud50c\ub9bf\uc744 \uba85\uba85\ud558\uba74 \ud15c\ud50c\ub9bf \uc774\ub984\uc744 \uba85\uc2dc\uc801\uc73c\ub85c \uc9c0\uc815\ud560 \ud544\uc694\uac00 \uc5c6\uc2b5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, <code>ListView<\/code>\uc640 \uac19\uc740 \ud074\ub798\uc2a4 \uae30\ubc18 \ubdf0\ub97c \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0, Django\ub294 <strong>\/_list.html<\/strong>\uc774\ub77c\ub294 \ud15c\ud50c\ub9bf\uc744 \uc790\ub3d9\uc73c\ub85c \ucc3e\uc544\uc11c \ucf54\ub4dc\ub97c \uac04\uc18c\ud654\ud569\ub2c8\ub2e4.<\/li>\n<li><strong>\uc815\uad50\ud55c \uc791\uc5c5\uc744 \uc7ac\uc0ac\uc6a9 \uac00\ub2a5\ud55c \uad6c\uc131 \uc694\uc18c\ub85c \uc138\ubd84\ud654\ud558\uc138\uc694.<\/strong> \ud15c\ud50c\ub9bf \ud0dc\uadf8, \ud544\ud130 \ubc0f \uc778\ud074\ub8e8\ub4dc\ub97c \uc0ac\uc6a9\ud558\uc5ec \ucf54\ub4dc \uc7ac\uc0ac\uc6a9\uc744 \ucd09\uc9c4\ud558\uace0 \uc720\uc9c0 \uad00\ub9ac\uc758 \ud3b8\uc758\uc131\uc744 \ub192\uc785\ub2c8\ub2e4.<\/li>\n<li><strong>\uc77c\uad00\ub41c \uba85\uba85 \uaddc\uce59\uc744 \ub530\ub974\uc138\uc694.<\/strong> \ud15c\ud50c\ub9bf, \ud0dc\uadf8 \ubc0f \ud544\ud130\uc5d0 \uba85\ud655\ud558\uace0 \uc9c1\uad00\uc801\uc778 \uc774\ub984\uc744 \uc0ac\uc6a9\ud558\uc138\uc694. \uc774\ub807\uac8c \ud558\uba74 \ub2e4\ub978 \uac1c\ubc1c\uc790\uac00 \ucf54\ub4dc\ub97c \ub354 \uc27d\uac8c \uc77d\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<li><strong>Django\uc758 \uc548\uc804\ud55c \ub80c\ub354\ub9c1 \ud544\ud130\ub97c \uc0ac\uc6a9\ud558\uc138\uc694.<\/strong> \ub80c\ub354\ub9c1\ud558\uae30 \uc804\uc5d0 \ud56d\uc0c1 \uc0ac\uc6a9\uc790\uac00 \uc81c\uacf5\ud55c \ub370\uc774\ud130\ub97c \uc774\uc2a4\ucf00\uc774\ud504 \ucc98\ub9ac\ud558\uc5ec XSS \ucde8\uc57d\uc810\uc744 \ubc29\uc9c0\ud569\ub2c8\ub2e4.<\/li>\n<li><strong>\ubcf5\uc7a1\ud55c \ud15c\ud50c\ub9bf \ub85c\uc9c1\uc744 \ubb38\uc11c\ud654\ud558\uc138\uc694.<\/strong> \ud15c\ud50c\ub9bf\uc758 \ubcf5\uc7a1\ud55c \ubd80\ubd84\uc744 \uc124\uba85\ud560 \ub54c\ub294 \uba85\ud655\ud55c \uc8fc\uc11d\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \uc774\ub807\uac8c \ud558\uba74 \ub2e4\ub978 \uc0ac\ub78c(\uadf8\ub9ac\uace0 \uc774\ud6c4 \ubcf8\uc778\ub3c4)\uc774 \ucf54\ub4dc\ub97c \uc774\ud574\ud558\ub294 \ub370 \ub3c4\uc6c0\uc774 \ub429\ub2c8\ub2e4.<\/li>\n<li><strong>\ud15c\ud50c\ub9bf\uc744 \ud504\ub85c\ud30c\uc77c\ub9c1\ud558\uc138\uc694<\/strong>. Django\uc758 \ud504\ub85c\ud30c\uc77c\ub9c1 \ub3c4\uad6c\ub97c \uc0ac\uc6a9\ud558\uc5ec \ube44\ud6a8\uc728\uc801\uc778 \ubc18\ubcf5\ubb38 \ubc0f \ubcf5\uc7a1\ud55c \ub85c\uc9c1\uacfc \uac19\uc740 \uc131\ub2a5 \ubcd1\ubaa9 \ud604\uc0c1\uc744 \ucc3e\uc544 \ucd5c\uc801\ud654\ud558\uc138\uc694.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/www.jetbrains.com\/guide\/django\/links\/django-in-pycharm-tips-reloaded\/\" target=\"_blank\" rel=\"noopener\">\uc774 \ub3d9\uc601\uc0c1<\/a>\uc744 \uc2dc\uccad\ud558\uc5ec Django \ud301\uacfc PyCharm \uae30\ub2a5\uc744 \ub354 \uc790\uc138\ud788 \uc0b4\ud3b4\ubcf4\uc138\uc694.<\/p>\n<h2 class=\"wp-block-heading\">\uacb0\ub860<\/h2>\n<p>\uc9c0\uae08\uae4c\uc9c0 \uac04\ub2e8\ud55c \uc6f9\uc0ac\uc774\ud2b8 \ub610\ub294 \ubcf5\uc7a1\ud55c \uc571\uc744 \ube4c\ub4dc\ud558\ub294 \ubaa8\ub4e0 \uacbd\uc6b0\uc5d0 \uc0ac\uc6a9\uc790 \uacbd\ud5d8\uc744 \ud5a5\uc0c1\ud558\uace0 \uac1c\ubc1c \ud504\ub85c\uc138\uc2a4\ub97c \uac04\uc18c\ud654\ud558\ub294 Django \ud15c\ud50c\ub9bf\uc744 \ub9cc\ub4dc\ub294 \ubc29\ubc95\uc744 \ubc30\uc6e0\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\ud558\uc9c0\ub9cc \ud15c\ud50c\ub9bf\uc740 Django \ud504\ub808\uc784\uc6cc\ud06c\uc5d0\uc11c \ud558\ub098\uc758 \uad6c\uc131 \uc694\uc18c\uc77c \ubfd0\uc785\ub2c8\ub2e4. \uae30\ud0c0 <a href=\"https:\/\/blog.jetbrains.com\/pycharm\/tag\/django\/\">Django \ube14\ub85c\uadf8<\/a>\uc640 <a href=\"https:\/\/blog.jetbrains.com\/pycharm\/2024\/01\/how-to-learn-django\/\">Django \ud559\uc2b5<\/a>\uc5d0 \ub3c4\uc6c0\uc774 \ub418\ub294 \ub9ac\uc18c\uc2a4\ub97c \uc0b4\ud3b4\ubcf4\uace0, <a href=\"https:\/\/blog.jetbrains.com\/pycharm\/2023\/12\/django-5-0-delight-unraveling-the-newest-features\/\">Django\uc758 \ucd5c\uc2e0 \uae30\ub2a5<\/a> \ub4f1\uc744 \uc54c\uc544\ubcf4\uc138\uc694. <a href=\"https:\/\/docs.djangoproject.com\/en\/5.0\/\" target=\"_blank\" rel=\"noopener\">Django\uc758 \uacf5\uc2dd \ubb38\uc11c<\/a>\ub97c \uc219\uc9c0\ud558\ub294 \uac83\ub3c4 \uc88b\uc2b5\ub2c8\ub2e4.<\/p>\n<h2 class=\"wp-block-heading\">PyCharm\uc758 \uc548\uc815\uc801\uc778 Django \uc9c0\uc6d0<\/h2>\n<p>\uc0dd\ucd08\ubcf4\uc790\ubd80\ud130 \uc219\ub828\ub41c \uac1c\ubc1c\uc790\uae4c\uc9c0 <a href=\"https:\/\/www.jetbrains.com\/ko-kr\/pycharm\/web-development\/django\/\" target=\"_blank\" rel=\"noopener\" data-type=\"link\" data-id=\"https:\/\/www.jetbrains.com\/pycharm\/web-development\/django\/\">PyCharm Professional<\/a>\uc740 Django \uac1c\ubc1c \uc6cc\ud06c\ud50c\ub85c\ub97c \uac04\uc18c\ud654\ud560 \uc218 \uc788\ub3c4\ub85d \uc9c0\uc6d0\ud569\ub2c8\ub2e4.<\/p>\n<p>Django IDE\ub294 Django \uc804\uc6a9 \ucf54\ub4dc \uc9c0\uc6d0, \ub514\ubc84\uadf8, \uc2e4\uc2dc\uac04 \ubbf8\ub9ac\ubcf4\uae30, \ud504\ub85c\uc81d\ud2b8 \uc804\uccb4 \ud0d0\uc0c9 \ubc0f \ub9ac\ud329\ud130\ub9c1 \uae30\ub2a5\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. PyCharm\uc740 Django \ud15c\ud50c\ub9bf\uc744 \uc644\ubcbd\ud558\uac8c \uc9c0\uc6d0\ud558\ubbc0\ub85c \uc27d\uac8c \uad00\ub9ac\ud558\uace0 \ud3b8\uc9d1\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub610\ud55c \ud074\ub9ad \ud55c \ubc88\uc73c\ub85c \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0 \uc5f0\uacb0\ud558\uace0 TypeScript, JavaScript \ubc0f \uae30\ud0c0 \ud504\ub7f0\ud2b8\uc5d4\ub4dc \ud504\ub808\uc784\uc6cc\ud06c\ub85c \uc6d0\ud65c\ud558\uac8c \uc791\uc5c5\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>PyCharm\uc5d0\uc11c Django \ud15c\ud50c\ub9bf\uc73c\ub85c \uc791\uc5c5\ud558\ub294 \ubc29\ubc95\uc5d0 \ub300\ud55c \uc790\uc138\ud55c \ub0b4\uc6a9\uc740 <a href=\"https:\/\/www.jetbrains.com\/help\/pycharm\/templates.html\" target=\"_blank\" rel=\"noopener\">\ubb38\uc11c<\/a>\ub97c \ucc38\uc870\ud558\uc138\uc694. Django \ud504\ub808\uc784\uc6cc\ud06c\ub97c \ube44\uad50\uc801 \ucc98\uc74c \uc811\ud558\ub294 \uc0ac\uc6a9\uc790\ub294 \uba3c\uc800 <a href=\"https:\/\/www.jetbrains.com\/guide\/django\/tutorials\/django-aws\/setup-django\/\" target=\"_blank\" rel=\"noopener\">PyCharm\uc5d0\uc11c \uc0c8 Django \uc571\uc744 \ub9cc\ub4dc\ub294 \uacfc\uc815<\/a>\uc744 \ub2e8\uacc4\ubcc4\ub85c \ub2e4\ub8e8\ub294 \ud3ec\uad04\uc801\uc778 \ud29c\ud1a0\ub9ac\uc5bc\uc744 \uc77d\uc5b4\ubcf4\ub294 \uac83\uc774 \ub3c4\uc6c0\uc774 \ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uc2dc\uc791\ud560 \uc900\ube44\uac00 \ub418\uc168\ub098\uc694? \uc9c0\uae08 PyCharm\uc744 \ub2e4\uc6b4\ub85c\ub4dc\ud558\uc5ec \ub354\uc6b1 \uc0dd\uc0b0\uc801\uc778 \uac1c\ubc1c \ud504\ub85c\uc138\uc2a4\ub97c \uc990\uae30\uc138\uc694.<\/p>\n<div class=\"buttons\">\n<div class=\"buttons__row\"><a class=\"btn\" href=\"https:\/\/www.jetbrains.com\/ko-kr\/pycharm\/web-development\/django\/\" target=\"\" rel=\"noopener\">\ubb34\ub8cc\ub85c PyCharm Pro \uc2dc\uc791\ud558\uae30<\/a><\/div>\n<\/div>\n\n\n<p><em>\uac8c\uc2dc\ubb3c \uc6d0\ubb38 \uc791\uc131\uc790<\/em><\/p>\n\n\n    <div class=\"about-author \">\n        <div class=\"about-author__box\">\n            <div class=\"row\">\n                <div class=\"about-author__box-img\">\n                    <img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2021\/03\/evgenia-200x200.jpg\" width=\"200\" height=\"200\" alt=\"Evgenia Verbina\" loading=\"lazy\"  class=\"avatar avatar-200 wp-user-avatar wp-user-avatar-200 photo avatar-default\">\n                <\/div>\n                <div class=\"about-author__box-text\">\n                                            <h4>Evgenia Verbina<\/h4>\n                                                        <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n","protected":false},"author":964,"featured_media":575199,"comment_status":"closed","ping_status":"closed","template":"","categories":[1401,2347,8377],"tags":[963],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/pycharm\/575012"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/pycharm"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/types\/pycharm"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/users\/964"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/comments?post=575012"}],"version-history":[{"count":10,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/pycharm\/575012\/revisions"}],"predecessor-version":[{"id":575637,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/pycharm\/575012\/revisions\/575637"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/media\/575199"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/media?parent=575012"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/categories?post=575012"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/tags?post=575012"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/cross-post-tag?post=575012"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}