{"title":"Menulis aplikasi Django pertama anda, bagian 6","version":"1.9","locale":"id","docname":"intro/tutorial06","url":"/id/1.9/intro/tutorial06/","canonical":"https://djangodocs.dev/id/1.9/intro/tutorial06/","summary":"Tutorial ini mulai dimana Tutorial 5 ditinggalkan. Kami telah membangun aplikasi jejak pendapat Jaringan dicoba, dan kami akan sekarang menambahkan…","html":"<h1>Menulis aplikasi Django pertama anda, bagian 6<a class=\"heading-anchor\" href=\"#writing-your-first-django-app-part-6\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Tutorial ini mulai dimana <a class=\"reference internal\" href=\"/id/1.9/intro/tutorial05/\"><span class=\"doc\">Tutorial 5</span></a> ditinggalkan. Kami telah membangun aplikasi jejak pendapat Jaringan dicoba, dan kami akan sekarang menambahkan stylesheet dan sebuah gambar.</p>\n<p>Disamping dari HTML dibangkitkan oleh peladen, aplikasi jaringan umumnya butuh melayani berkas-berkas tambahan - seperti gambar, JavaScript, atau CSS - perlu untuk membangun halaman jaringan lengkap. Di Django, kami mengacu pada berkas-berkas ini sebagai &quot;berkas statis&quot;.</p>\n<p>Untuk proyek kecil, ini bukanlah urusan besar, karena anda dapat hanya menjaga berkas statis di suatu tempat peladen jaringan anda dapat menemukannya. Bagaimanapun, proyek lebih besar -- khususnya mereka yang terdiri dari aplikasi banyak -- berurusan dengan kumpulan banyak dari berkas statis berdasarkan setiap aplikasi mulai mendapatkan yang rumit.</p>\n<p>Itulah <code class=\"docutils literal notranslate\">django.contrib.staticfiles</code> diperuntukkan: dia mengumpulkan berkas statis dari setiap aplikasi anda (dan tempat lain apapun anda tentukan) kedalam tempat tunggal yang dapat dengan mudah dilayani di produksi.</p>\n<section id=\"customize-your-app-s-look-and-feel\">\n<h2>Sesuaikan <em>aplikasi</em> anda penampilan dan perasaan<a class=\"heading-anchor\" href=\"#customize-your-app-s-look-and-feel\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Pertama, buat sebuah direktori dipanggil <code class=\"docutils literal notranslate\">static</code> di direktori <code class=\"docutils literal notranslate\">polls</code> anda. Django akan mencari berkas statis disana, sama halnya bagaimana Django menemukan cetakan didalam <code class=\"docutils literal notranslate\">polls/templates/</code>.</p>\n<p>Pengaturan Django <a class=\"reference internal\" href=\"/id/1.9/ref/settings/#std-setting-STATICFILES_FINDERS\"><code class=\"xref std std-setting docutils literal notranslate\">STATICFILES_FINDERS</code></a> mengandung daftar dari penemu yang mengetahui bagaimana menemukan berkas statis dari beragam sumber. Satu dari awalnya adalah <code class=\"docutils literal notranslate\">AppDirectoriesFinder</code> yang mencari subdirektori &quot;statis&quot; di setiap dari <a class=\"reference internal\" href=\"/id/1.9/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\">INSTALLED_APPS</code></a>, seperti satu di <code class=\"docutils literal notranslate\">polls</code> kami telah buat. Situs admin menggunakan struktur direktori sama untuk berkas statis nya.</p>\n<p>Didalam direktori <code class=\"docutils literal notranslate\">static</code> anda telah buat, buat direktori lain disebut <code class=\"docutils literal notranslate\">polls</code> dan di dalamnya buat sebuah berkas disebut <code class=\"docutils literal notranslate\">style.css</code>. Dengan kata lain, stylesheet anda seharusnya di <code class=\"docutils literal notranslate\">polls/static/polls/style.css</code>. Karena bagaimana <code class=\"docutils literal notranslate\">AppDirectoriesFinder</code> penemu berkas statis bekerja, anda dapat mengacu ke berkas statis ini di Django semudah seperti <code class=\"docutils literal notranslate\">polls/style.css</code>, mirip pada bagaimana anda mengacu jalur untuk cetakan.</p>\n<aside class=\"admonition-static-file-namespacing admonition\" role=\"note\">\n<p class=\"admonition-title\">Namespacing berkas statis</p>\n<p>Hanya seperti cetakan, kami <em>mungkin</em> dapat menjauhkan dengan menaruh berkas statis langsung di <code class=\"docutils literal notranslate\">polls/static</code> (daripada membuat subdirektori <code class=\"docutils literal notranslate\">polls</code> lainnya), tetapi ini akan sebenarnya menjadi ide buruk. Django akan memilih berkas statis pertama yang dia temukan namanya cocok, dan jika anda mempunyai berkas statis nama sama di aplikasi <em>berbeda</em>, Django akan tidak dapat membedakan antara mereka. Kami butuh dapat menempatkan DJango pada satu yang benar, dan jalan termudah untuk memastikan ini adalah dengan <em>namespacing</em> mereka. Itu adalah, dengan menaruh berkas statis kedalan direktori <em>lain</em> dinamai untuk aplikasi itu sendiri.</p>\n</aside>\n<p>Taruh kode berikut di stylesheet itu (<code class=\"docutils literal notranslate\">polls/static/polls/style.css</code>):</p>\n<figure class=\"code-block code-block-captioned\" data-language=\"css\"><figcaption class=\"code-block-caption\"><code>polls/static/polls/style.css</code></figcaption><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Css</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=\"polls/static/polls/style.css\"><code><span class=\"nt\">li</span> <span class=\"nt\">a</span> <span class=\"p\">{</span>\n    <span class=\"k\">color</span><span class=\"p\">:</span> <span class=\"kc\">green</span><span class=\"p\">;</span>\n<span class=\"p\">}</span>\n</code></pre></figure>\n<p>Selanjutnya, tambahkan berikut pada atas <code class=\"docutils literal notranslate\">polls/templates/polls/index.html</code>:</p>\n<figure class=\"code-block code-block-captioned\" data-language=\"html+django\"><figcaption class=\"code-block-caption\"><code>polls/templates/polls/index.html</code></figcaption><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Django template</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=\"polls/templates/polls/index.html\"><code><span class=\"cp\">{%</span> <span class=\"k\">load</span> <span class=\"nv\">staticfiles</span> <span class=\"cp\">%}</span>\n\n<span class=\"p\">&lt;</span><span class=\"nt\">link</span> <span class=\"na\">rel</span><span class=\"o\">=</span><span class=\"s\">&quot;stylesheet&quot;</span> <span class=\"na\">type</span><span class=\"o\">=</span><span class=\"s\">&quot;text/css&quot;</span> <span class=\"na\">href</span><span class=\"o\">=</span><span class=\"s\">&quot;</span><span class=\"cp\">{%</span> <span class=\"k\">static</span> <span class=\"s1\">&#39;polls/style.css&#39;</span> <span class=\"cp\">%}</span><span class=\"s\">&quot;</span> <span class=\"p\">/&gt;</span>\n</code></pre></figure>\n<p><code class=\"docutils literal notranslate\">{% load staticfiles %}</code> memuat etiekt cetakan <a class=\"reference internal\" href=\"/id/1.9/ref/contrib/staticfiles/#std-templatetag-staticfiles-static\"><code class=\"xref std std-ttag docutils literal notranslate\">{% static %}</code></a> dari pustaka cetakan <code class=\"docutils literal notranslate\">staticfiles</code>. Etiket cetakan <code class=\"docutils literal notranslate\">{% static %}</code> membangkitkan URL mutlak dari berkas statis.</p>\n<p>Itu semua anda butuhkan melakukan untuk pengembangan. Muat kembali <code class=\"docutils literal notranslate\">http://localhost:8000/polls/</code> dan anda akan melihat tautan pertanyaan hijau (gaya Django!) yang berarti bahwa stylesheet anda dimuat dengan benar.</p>\n</section>\n<section id=\"adding-a-background-image\">\n<h2>Menambahkan gambar-latar belakang<a class=\"heading-anchor\" href=\"#adding-a-background-image\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Selanjutnya, kami akan membuat subdirektori untuk gambar. Buat sebuah sibdirektori <code class=\"docutils literal notranslate\">images</code> di direktori <code class=\"docutils literal notranslate\">polls/static/polls/</code>. Didalam direktori ini, taruh sebuah gambar dipanggil <code class=\"docutils literal notranslate\">background.gif</code>. Dengan kata lain, taruh gambar anda di <code class=\"docutils literal notranslate\">polls/static/polls/images/background.gif</code>.</p>\n<p>Lalu, tambahkan ke stylesheet anda (<code class=\"docutils literal notranslate\">polls/static/polls/style.css</code>):</p>\n<figure class=\"code-block code-block-captioned\" data-language=\"css\"><figcaption class=\"code-block-caption\"><code>polls/static/polls/style.css</code></figcaption><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Css</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=\"polls/static/polls/style.css\"><code><span class=\"nt\">body</span> <span class=\"p\">{</span>\n    <span class=\"k\">background</span><span class=\"p\">:</span> <span class=\"kc\">white</span> <span class=\"nb\">url</span><span class=\"p\">(</span><span class=\"s2\">&quot;images/background.gif&quot;</span><span class=\"p\">)</span> <span class=\"kc\">no-repeat</span> <span class=\"kc\">right</span> <span class=\"kc\">bottom</span><span class=\"p\">;</span>\n<span class=\"p\">}</span>\n</code></pre></figure>\n<p>Muat kembali <code class=\"docutils literal notranslate\">http://localhost:8000/polls/</code> dan anda akan melihat latar belakang dimuat di bawah kanan layar</p>\n<aside class=\"admonition admonition-warning\" role=\"note\">\n<p class=\"admonition-title\">Peringatan</p>\n<p>Tentu saja etiket cetakan <code class=\"docutils literal notranslate\">{% static %}</code> tidak tersedia untuk digunakan di berkas statis seperti stylesheet anda yang tidak dibangkitkan oleh Django. Anda harus selalu menggunakan <strong>jalur relatif</strong> untuk menautkan berkas statis diantara satu sama lain, karena anda dapat merubah <a class=\"reference internal\" href=\"/id/1.9/ref/settings/#std-setting-STATIC_URL\"><code class=\"xref std std-setting docutils literal notranslate\">STATIC_URL</code></a> (digunakan oleh etiket cetakan <a class=\"reference internal\" href=\"/id/1.9/ref/templates/builtins/#std-templatetag-static\"><code class=\"xref std std-ttag docutils literal notranslate\">static</code></a> untuk membangkitkan URLnya) tanpa harus merubah sekumpulan jalur di berkas statis anda.</p>\n</aside>\n<p>Ini adalah <strong>dasar</strong>. Untuk lebih rinci di pengaturan dan lainnya disertakan dengan kerangka lihat <a class=\"reference internal\" href=\"/id/1.9/howto/static-files/\"><span class=\"doc\">bagaimana berkas statis</span></a> dan <a class=\"reference internal\" href=\"/id/1.9/ref/contrib/staticfiles/\"><span class=\"doc\">acuan berkas statis</span></a>. <a class=\"reference internal\" href=\"/id/1.9/howto/static-files/deployment/\"><span class=\"doc\">Menyebarkan berkas statis</span></a> mengobrolkan bagaimana menggunakan berkas statis di peladen sebenarnya.</p>\n<p>Ketika anda nyaman dengan berkas statis, baca <a class=\"reference internal\" href=\"/id/1.9/intro/tutorial07/\"><span class=\"doc\">bagian 7 dari tutorial ini</span></a> untuk belajar bagaimana menyesuaikan pembangkitan-otomatis Django situs admin.</p>\n</section>","rootId":"writing-your-first-django-app-part-6","toc":[{"title":"Sesuaikan aplikasi anda penampilan dan perasaan","anchor":"customize-your-app-s-look-and-feel","children":[]},{"title":"Menambahkan gambar-latar belakang","anchor":"adding-a-background-image","children":[]}],"breadcrumbs":[{"docname":"intro/index","title":"Mulai","url":"/id/1.9/intro/"}],"prev":{"docname":"intro/tutorial05","title":"Menulis aplikasi Django pertama anda, bagian 5","url":"/id/1.9/intro/tutorial05/"},"next":{"docname":"intro/tutorial07","title":"Menulis aplikasi Django kedua anda, bagian 7","url":"/id/1.9/intro/tutorial07/"},"formats":{"html":"/id/1.9/intro/tutorial06/","markdown":"/id/1.9/intro/tutorial06.md","json":"/id/1.9/intro/tutorial06.json"},"source":"https://github.com/django/django/blob/stable/1.9.x/docs/intro/tutorial06.txt","official":"https://docs.djangoproject.com/id/1.9/intro/tutorial06/","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","fr","ja","id","pt-br","es"]}