{"title":"Menulis aplikasi Django pertama anda, bagian 1","version":"5.1","locale":"id","docname":"intro/tutorial01","url":"/id/5.1/intro/tutorial01/","canonical":"https://djangodocs.dev/id/5.1/intro/tutorial01/","summary":"Mari kita belajar berdasarkan contoh. Melalui tutorial ini, kami akan memandu anda melalui pembuatan aplikasi jejak pendapat dasar.","html":"<h1>Menulis aplikasi Django pertama anda, bagian 1<a class=\"heading-anchor\" href=\"#writing-your-first-django-app-part-1\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Mari kita belajar berdasarkan contoh.</p>\n<p>Melalui tutorial ini, kami akan memandu anda melalui pembuatan aplikasi jejak pendapat dasar.</p>\n<p>Dia akan terdiri dari dua bagian:</p>\n<ul class=\"simple\">\n<li><p>Situs umum yang membiarkan orang melihat jejak pendapat dan memilih mereka.</p></li>\n<li><p>Situs admin yang membiarkan anda menambah, merubah, dan menghapus jejak pendapat.</p></li>\n</ul>\n<p>Kami akan beranggapan anda telah mempunyai <a class=\"reference internal\" href=\"/id/5.1/intro/install/\"><span class=\"doc\">Django installed</span></a>. Anda dapat memberitahu Django terpasang dan versi mana dengan menjalankan perintah berikut dalam sebuah shell prompt (ditunjukkan oleh awalan $):</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 -m django --version\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 -m django --version\n</code></pre></div></div></div>\n<p>Jika Django telah terpasang, anda harus melihat versi dari pemasangan anda. Jika dia tidak, anda akan mendapatkan kesalahan mengatakan &quot;Tidak ada modul bernama django&quot;.</p>\n<p>This tutorial is written for Django 5.1, which supports Python 3.10 and\nlater. If the Django version doesn't match, you can refer to the tutorial for\nyour version of Django by using the version switcher at the bottom right corner\nof this page, or update Django to the newest version. If you're using an older\nversion of Python, check <a class=\"reference internal\" href=\"/id/5.1/faq/install/#faq-python-version-support\"><span class=\"std std-ref\">Versi Phyton apa dapat Saya gunakan dengan Django?</span></a> to find a compatible\nversion of Django.</p>\n<aside class=\"admonition-where-to-get-help admonition\" role=\"note\">\n<p class=\"admonition-title\">Dimana mendapatkan bantuan:</p>\n<p>Jika anda memiliki masalah melalui tutorial ini, harap geser ke <a class=\"reference internal\" href=\"/id/5.1/faq/help/\"><span class=\"doc\">Getting Help</span></a> bagian dari FAQ.</p>\n</aside>\n<section id=\"creating-a-project\">\n<h2>Membuat proyek<a class=\"heading-anchor\" href=\"#creating-a-project\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Jika ini adalah pertama kali anda menggunakan Django, anda harus berhati-hati dari beberapa pengaturan awal. Yaitu, anda butuh membangkitkan-otomatis beberapa kode yang membangun Django <a class=\"reference internal\" href=\"/id/5.1/glossary/#term-project\"><span class=\"xref std std-term\">project</span></a> -- kumpulan dari pengaturan untuk contoh DJango, termasuk konfigurasi basisdata, pilihan khusus-Django dan pengaturan khusus-aplikasi.</p>\n<p>From the command line, <code class=\"docutils literal notranslate\">cd</code> into a directory where you'd like to store your\ncode and create a new directory named <code class=\"docutils literal notranslate\">djangotutorial</code>. (This directory name\ndoesn't matter to Django; you can rename it to anything you like.)</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>mkdir djangotutorial\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-1-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> <span class=\"k\">mkdir</span> djangotutorial\n</code></pre></div></div></div>\n<p>Then, run the following command to bootstrap a new Django project:</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>django-admin startproject mysite djangotutorial\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> django-admin startproject mysite djangotutorial\n</code></pre></div></div></div>\n<p>This will create a project called <code class=\"docutils literal notranslate\">mysite</code> inside the <code class=\"docutils literal notranslate\">djangotutorial</code>\ndirectory. If it didn't work, see <a class=\"reference internal\" href=\"/id/5.1/faq/troubleshooting/#troubleshooting-django-admin\"><span class=\"std std-ref\">Masalah menjalankan django-admin</span></a>.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Catatan</p>\n<p>Anda akan butuh menghindari penamaan proyek setelah memasang-tetap komponen Phyton atau Django. Khususnya, ini berarti anda harus menghindari menggunakan nama seperti <code class=\"docutils literal notranslate\">django</code> (yang akan bertentangan dengan Django itu sendiri) atau <code class=\"docutils literal notranslate\">test</code> (yang bertentangan dengan paket Phyton memasang-tetap).</p>\n</aside>\n<p>Let's look at what <a class=\"reference internal\" href=\"/id/5.1/ref/django-admin/#django-admin-startproject\"><code class=\"xref std std-djadmin docutils literal notranslate\">startproject</code></a> created:</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>djangotutorial/\n    manage.py\n    mysite/\n        __init__.py\n        settings.py\n        urls.py\n        asgi.py\n        wsgi.py\n</code></pre></div>\n<p>Berkas ini adalah:</p>\n<ul class=\"simple\">\n<li><p><code class=\"file docutils literal notranslate\">manage.py</code>: Sebuah kegunaan baris-perintah yang membiarkan anda berinteraksi dengan proyek Django ono di beragam jalan. Anda dapat membaca semua rincian tentang <code class=\"file docutils literal notranslate\">manage.py</code> di <a class=\"reference internal\" href=\"/id/5.1/ref/django-admin/\"><span class=\"doc\">django-admin dan manage.py</span></a>.</p></li>\n<li><p><code class=\"file docutils literal notranslate\">mysite/</code>: A directory that is the actual Python package for your\nproject. Its name is the Python package name you'll need to use to import\nanything inside it (e.g. <code class=\"docutils literal notranslate\">mysite.urls</code>).</p></li>\n<li><p><code class=\"file docutils literal notranslate\">mysite/__init__.py</code>: Sebuah berkas kosong yang memberitahu Python bahwa pelipat ini harus mempertimbangkan paket Python. Jika anda adalah pemula Python, baca <a class=\"reference external\" href=\"https://docs.python.org/3/tutorial/modules.html#tut-packages\" title=\"(di Python v3.14)\"><span class=\"xref std std-ref\">more about packages</span></a> di dokumen resmi Python.</p></li>\n<li><p><code class=\"file docutils literal notranslate\">mysite/settings.py</code>: Pengaturan/konfigurasi untuk proyek Django ini. <a class=\"reference internal\" href=\"/id/5.1/topics/settings/\"><span class=\"doc\">Pengaturan Django</span></a> akan mengatakan anda semua tentang bagaimana pengaturan bekerja.</p></li>\n<li><p><code class=\"file docutils literal notranslate\">mysite/urls.py</code>: Deklarasi URL untuk proyek Django ini; &quot;tabel isi&quot; dari situs Ditenagai-Django anda. Anda dapat membaca lebih tentang URL di <a class=\"reference internal\" href=\"/id/5.1/topics/http/urls/\"><span class=\"doc\">Pengirim URL</span></a>.</p></li>\n<li><p><code class=\"file docutils literal notranslate\">mysite/asgi.py</code>: Sebuah titik-masukan untukpeladen jaringan cocok-ASGI untuk melayani proyek anda. Lihat <a class=\"reference internal\" href=\"/id/5.1/howto/deployment/asgi/\"><span class=\"doc\">Bagaimana mengembangkan dengan ASGI</span></a> untuk rincian lebih.</p></li>\n<li><p><code class=\"file docutils literal notranslate\">mysite/wsgi.py</code>: Sebuah titik-masukan untuk peladen jaringan sesuai-WSGI untuk meladeni proyek anda. Lihat <a class=\"reference internal\" href=\"/id/5.1/howto/deployment/wsgi/\"><span class=\"doc\">Bagaimana menyebarkan dengan WSGI</span></a> untuk lebih rinci.</p></li>\n</ul>\n</section>\n<section id=\"the-development-server\">\n<h2>Peladen pengembangan<a class=\"heading-anchor\" href=\"#the-development-server\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Let's verify your Django project works. Change into the <code class=\"file docutils literal notranslate\">djangotutorial</code>\ndirectory, if you haven't already, and run the following commands:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-3-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>python manage.py runserver\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-3-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> py manage.py runserver\n</code></pre></div></div></div>\n<p>Anda akan melihat keluaran berikut pada baris perintah:</p>\n<pre class=\"literal-block\">Performing system checks...\n\nSystem check identified no issues (0 silenced).\n\nYou have unapplied migrations; your app may not work properly until they are applied.\nRun 'python manage.py migrate' to apply them.\n\n09 Agu, 2026 - 15:50:53\nDjango version 5.1, using settings 'mysite.settings'\nStarting development server at <a class=\"reference external\" href=\"http://127.0.0.1:8000/\">http://127.0.0.1:8000/</a>\nQuit the server with CONTROL-C.</pre>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Catatan</p>\n<p>Abaikan peringatan tentang perpindahan basisdata tidak diberlakukan untuk sekarang; kami akan berurusan dengan basisdata segera.</p>\n</aside>\n<p>Sekarang peladen sedang berjalan, kunjungi <a class=\"reference external\" href=\"http://127.0.0.1:8000/\">http://127.0.0.1:8000/</a> dengan peramban jaringan anda. Anda akan melihat halaman &quot;Congratulations!&quot;, dengan sebuah roket meluncur. Itu bekerja!</p>\n<p>Anda telah memulai peladen pengembangan Django, peladen jaringan ringan ditulis dalam Python. Kami telah menyertakan ini dalam Django sehingga anda dapt mengembangkan hal-hal dengan cepat, tanpa harus berurusan dengan konfigurasi peladen produksi-- seperti Apache -- sampai anda siap untuk produksi.</p>\n<p>Sekarang adalah waktu bagus untuk dicatat: <strong>jangan</strong> gunakan peladen ini dalam dalam segala hal yang menyerupai lingkungan produksi. Itu hanya diperuntukkan untuk penggunaan selagi pengembangan. (Kami berada di bisnis dari membuat kerangka kerja jaringan, bukan peladen jaringan.)</p>\n<p>(To serve the site on a different port, see the <a class=\"reference internal\" href=\"/id/5.1/ref/django-admin/#django-admin-runserver\"><code class=\"xref std std-djadmin docutils literal notranslate\">runserver</code></a> reference.)</p>\n<aside class=\"admonition-automatic-reloading-of-djadmin-runserver admonition\" role=\"note\">\n<p class=\"admonition-title\">Otomatis memuat kembali <a class=\"reference internal\" href=\"/id/5.1/ref/django-admin/#django-admin-runserver\"><code class=\"xref std std-djadmin docutils literal notranslate\">runserver</code></a></p>\n<p>Peladen pengembangan otomatis memuat kembali kode Phyton untuk setiap permintaan sesuai kebutuhan. Anda tidak butuh memulai kembali peladen untuk perubahan kode agar berpengaruh. Bagaimanapun, beberapa tindakan seperti menambahkan berkas tidak akan memicu mulai kembali, sehingga anda harus memulai kembali peladen dalam kasus ini.</p>\n</aside>\n</section>\n<section id=\"creating-the-polls-app\">\n<h2>Membuat aplikasi jejak pendapat<a class=\"heading-anchor\" href=\"#creating-the-polls-app\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Sekarang bahwa lingkungan anda -- sebuah &quot;proyek&quot; -- sedang diatur, anda sudah untuk siap memulai pekerjaan.</p>\n<p>Setiap aplikasi anda tulis dalam Django terdiri dari paket Phyton yang mengikuti ketentuan tertentu Django datang dengan kegunaan yang otomatis membangkitkan struktur direktori dasar dari sebuah aplikasi, sehingga anda dapat fokus pada menulis kode daripada membuat direktori.</p>\n<aside class=\"admonition-projects-vs-apps admonition\" role=\"note\">\n<p class=\"admonition-title\">Proyek lawan aplikasi</p>\n<p>Apa perbedaan diantara proyek dan aplikasi? Aplikasi adalah aplikasi jaringan yang melakukan sesuatu -- yaitu, sitem blog, basisdata dari rekaman umum atau aplikasi poling kecil. Proyek adalah kumpulan dari konfigurasi dan aplikasi untuk situs jaringan tertentu. Proyek dapat mengandung banyak aplikasi. Sebuah aplikasi dapat berada dalam banyak proyek.</p>\n</aside>\n<p>Your apps can live anywhere in your <a class=\"reference external\" href=\"https://docs.python.org/3/tutorial/modules.html#tut-searchpath\" title=\"(di Python v3.14)\"><span class=\"xref std std-ref\">Python path</span></a>. In\nthis tutorial, we'll create our poll app inside the <code class=\"docutils literal notranslate\">djangotutorial</code> folder.</p>\n<p>Untuk membuat aplikasi anda, pastikan anda berada di direktori sama sebagai <code class=\"file docutils literal notranslate\">manage.py</code> dan ketik perintah ini:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-4-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>python manage.py startapp polls\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-4-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> py manage.py startapp polls\n</code></pre></div></div></div>\n<p>That'll create a directory <code class=\"file docutils literal notranslate\">polls</code>, which is laid out like this:</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    admin.py\n    apps.py\n    migrations/\n        __init__.py\n    models.py\n    tests.py\n    views.py\n</code></pre></div>\n<p>Struktur direktori ini akan merumahkan aplikasi jejak pendapat.</p>\n</section>\n<section id=\"write-your-first-view\">\n<h2>Tulis tampilan pertama anda<a class=\"heading-anchor\" href=\"#write-your-first-view\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Mari kita menulis tampilan pertama. Buka berkas <code class=\"docutils literal notranslate\">polls/views.py</code> dan taruh kode Phyton berikut didalamnya:</p>\n<figure class=\"code-block code-block-captioned\" data-language=\"python\"><figcaption class=\"code-block-caption\"><code class=\"docutils literal notranslate\">polls/views.py</code></figcaption>\n<div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python</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=\"Python code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.http</span> <span class=\"kn\">import</span> HttpResponse\n\n\n<span class=\"k\">def</span> <span class=\"nf\">index</span><span class=\"p\">(</span>request<span class=\"p\">):</span>\n    <span class=\"k\">return</span> HttpResponse<span class=\"p\">(</span><span class=\"s2\">&quot;Hello, world. You&#39;re at the polls index.&quot;</span><span class=\"p\">)</span>\n</code></pre></figure>\n<p>This is the most basic view possible in Django. To access it in a browser, we\nneed to map it to a URL - and for this we need to define a URL configuration,\nor &quot;URLconf&quot; for short. These URL configurations are defined inside each\nDjango app, and they are Python files named <code class=\"docutils literal notranslate\">urls.py</code>.</p>\n<p>To define a URLconf for the <code class=\"docutils literal notranslate\">polls</code> app, create a file <code class=\"docutils literal notranslate\">polls/urls.py</code>\nwith the following content:</p>\n<figure class=\"code-block code-block-captioned\" data-language=\"python\"><figcaption class=\"code-block-caption\"><code class=\"docutils literal notranslate\">polls/urls.py</code></figcaption>\n<div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python</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=\"Python code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.urls</span> <span class=\"kn\">import</span> path\n\n<span class=\"kn\">from</span> <span class=\"nn\">.</span> <span class=\"kn\">import</span> views\n\nurlpatterns <span class=\"o\">=</span> <span class=\"p\">[</span>\n    path<span class=\"p\">(</span><span class=\"s2\">&quot;&quot;</span><span class=\"p\">,</span> views<span class=\"o\">.</span>index<span class=\"p\">,</span> name<span class=\"o\">=</span><span class=\"s2\">&quot;index&quot;</span><span class=\"p\">),</span>\n<span class=\"p\">]</span>\n</code></pre></figure>\n<p>Your app directory should now look like:</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    admin.py\n    apps.py\n    migrations/\n        __init__.py\n    models.py\n    tests.py\n    urls.py\n    views.py\n</code></pre></div>\n<p>The next step is to configure the global URLconf in the <code class=\"docutils literal notranslate\">mysite</code> project to\ninclude the URLconf defined in <code class=\"docutils literal notranslate\">polls.urls</code>. To do this, add an import for\n<code class=\"docutils literal notranslate\">django.urls.include</code> in <code class=\"docutils literal notranslate\">mysite/urls.py</code> and insert an\n<a class=\"reference internal\" href=\"/id/5.1/ref/urls/#django.urls.include\" title=\"django.urls.include\"><code class=\"xref py py-func docutils literal notranslate\">include()</code></a> in the <code class=\"docutils literal notranslate\">urlpatterns</code> list, so you have:</p>\n<figure class=\"code-block code-block-captioned\" data-language=\"python\"><figcaption class=\"code-block-caption\"><code class=\"docutils literal notranslate\">mysite/urls.py</code></figcaption>\n<div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python</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=\"Python code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.contrib</span> <span class=\"kn\">import</span> admin\n<span class=\"kn\">from</span> <span class=\"nn\">django.urls</span> <span class=\"kn\">import</span> include<span class=\"p\">,</span> path\n\nurlpatterns <span class=\"o\">=</span> <span class=\"p\">[</span>\n    path<span class=\"p\">(</span><span class=\"s2\">&quot;polls/&quot;</span><span class=\"p\">,</span> include<span class=\"p\">(</span><span class=\"s2\">&quot;polls.urls&quot;</span><span class=\"p\">)),</span>\n    path<span class=\"p\">(</span><span class=\"s2\">&quot;admin/&quot;</span><span class=\"p\">,</span> admin<span class=\"o\">.</span>site<span class=\"o\">.</span>urls<span class=\"p\">),</span>\n<span class=\"p\">]</span>\n</code></pre></figure>\n<p>The <a class=\"reference internal\" href=\"/id/5.1/ref/urls/#django.urls.path\" title=\"django.urls.path\"><code class=\"xref py py-func docutils literal notranslate\">path()</code></a> function expects at least two arguments:\n<code class=\"docutils literal notranslate\">route</code> and <code class=\"docutils literal notranslate\">view</code>.\nThe <a class=\"reference internal\" href=\"/id/5.1/ref/urls/#django.urls.include\" title=\"django.urls.include\"><code class=\"xref py py-func docutils literal notranslate\">include()</code></a> function allows referencing other URLconfs.\nWhenever Django encounters <a class=\"reference internal\" href=\"/id/5.1/ref/urls/#django.urls.include\" title=\"django.urls.include\"><code class=\"xref py py-func docutils literal notranslate\">include()</code></a>, it chops off whatever\npart of the URL matched up to that point and sends the remaining string to the\nincluded URLconf for further processing.</p>\n<p>Ide dibelakan <a class=\"reference internal\" href=\"/id/5.1/ref/urls/#django.urls.include\" title=\"django.urls.include\"><code class=\"xref py py-func docutils literal notranslate\">include()</code></a> adalah membuat itu mudah pasang-dan-mainkan URL. Sejak jejak pendapat dalam URLconf mereka sendiri (<code class=\"docutils literal notranslate\">polls/urls.py</code>), mereka dapat dipasang dibawah &quot;/polls/&quot;, atau dibawah &quot;/fun_polls/&quot;, atau dibawah &quot;/content/polls/&quot;, atau jalur akar lain apapun, dan aplikasi masih bisa bekerja.</p>\n<aside class=\"admonition-when-to-use-func-django-urls-include admonition\" role=\"note\">\n<p class=\"admonition-title\">Kapan menggunakan <a class=\"reference internal\" href=\"/id/5.1/ref/urls/#django.urls.include\" title=\"django.urls.include\"><code class=\"xref py py-func docutils literal notranslate\">include()</code></a></p>\n<p>You should always use <code class=\"docutils literal notranslate\">include()</code> when you include other URL patterns.\nThe only exception is <code class=\"docutils literal notranslate\">admin.site.urls</code>, which is a pre-built URLconf\nprovided by Django for the default admin site.</p>\n</aside>\n<p>Anda sekarang harus mengikat tampilan <code class=\"docutils literal notranslate\">index</code> kedalam URLconf. Periksa pekerjaannya dengan perintah berikut:</p>\n<div class=\"console\" data-console><div class=\"console-panel\" data-platform=\"unix\"><p class=\"console-label\" id=\"console-5-unix-label\">Linux / macOS</p><div class=\"code-block\" data-language=\"console\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code><span class=\"gp\">$ </span>python manage.py runserver\n</code></pre></div>\n</div><div class=\"console-panel\" data-platform=\"windows\"><p class=\"console-label\" id=\"console-5-windows-label\">Windows</p><div class=\"code-block\" data-language=\"doscon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Windows</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Windows shell\"><code><span class=\"gp\">...\\&gt;</span> py manage.py runserver\n</code></pre></div></div></div>\n<p>Pergi ke <a class=\"reference external\" href=\"http://localhost:8000/polls/\">http://localhost:8000/polls/</a> di perambah anda, dan anda seharusnya melihat teks &quot;<em>Halo, dunia. Anda sedang berada di index jejak pendapat.</em>&quot;, yang anda tentukan di tampilan <code class=\"docutils literal notranslate\">index</code>.</p>\n<aside class=\"admonition-page-not-found admonition\" role=\"note\">\n<p class=\"admonition-title\">Laman tidak ditemukan?</p>\n<p>JIka anda mendapat sebuah kesalahan halaman disini, periksa bahwa anda akan ke <a class=\"reference external\" href=\"http://localhost:8000/polls/\">http://localhost:8000/polls/</a> dan bukan <a class=\"reference external\" href=\"http://localhost:8000/\">http://localhost:8000/</a>.</p>\n</aside>\n<p>Ketika anda nyaman dengan permintaan dasar dan aliran tanggapan, baca <a class=\"reference internal\" href=\"/id/5.1/intro/tutorial02/\"><span class=\"doc\">bagian 2 dari tutorial ini</span></a> utuk memulai bekerja dengan basisdata.</p>\n</section>","rootId":"writing-your-first-django-app-part-1","toc":[{"title":"Membuat proyek","anchor":"creating-a-project","children":[]},{"title":"Peladen pengembangan","anchor":"the-development-server","children":[]},{"title":"Membuat aplikasi jejak pendapat","anchor":"creating-the-polls-app","children":[]},{"title":"Tulis tampilan pertama anda","anchor":"write-your-first-view","children":[]}],"breadcrumbs":[{"docname":"intro/index","title":"Mulai","url":"/id/5.1/intro/"}],"prev":{"docname":"intro/install","title":"Panduan pasang cepat","url":"/id/5.1/intro/install/"},"next":{"docname":"intro/tutorial02","title":"Menulis aplikasi Django kedua anda, bagian 2","url":"/id/5.1/intro/tutorial02/"},"formats":{"html":"/id/5.1/intro/tutorial01/","markdown":"/id/5.1/intro/tutorial01.md","json":"/id/5.1/intro/tutorial01.json"},"source":"https://github.com/django/django/blob/stable/5.1.x/docs/intro/tutorial01.txt","official":"https://docs.djangoproject.com/id/5.1/intro/tutorial01/","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","1.10","1.9"],"inLocales":["en","zh-hans","fr","ja","id","it","pt-br","ko","es","el","pl"]}