{"title":"Menimpa cetakan","version":"2.1","locale":"id","docname":"howto/overriding-templates","url":"/id/2.1/howto/overriding-templates/","canonical":"https://djangodocs.dev/id/2.1/howto/overriding-templates/","summary":"Dalam proyek anda, anda mungkin ingin menimpa sebuah cetakan dalam aplikasi Django lain, apakai itu berupa aplikasi pihak-ketiga atau aplikasi bantuan seperti…","html":"<h1>Menimpa cetakan<a class=\"heading-anchor\" href=\"#overriding-templates\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Dalam proyek anda, anda mungkin ingin menimpa sebuah cetakan dalam aplikasi Django lain, apakai itu berupa aplikasi pihak-ketiga atau aplikasi bantuan seperti <code class=\"docutils literal notranslate\">django.contrib.admin</code>. Anda dapat antara menaruh cetakan menimpa dalam direktori cetakan proyek anda atau dalam sebuah direktori cetakan aplikasi.</p>\n<p>Jika anda mempunyai aplikasi dan direktori cetakan proyek yang kedua kandungan menimpa, pemuat cetakan Django awalan akan mencoba memuat cetakan dari direktori tingkat-proyek dahulu. Dengan kata lain, <code class=\"xref std std-setting docutils literal notranslate\">DIRS 1</code> dicari sebelum <code class=\"xref std std-setting docutils literal notranslate\">APP_DIRS 2</code>.</p>\n<aside class=\"admonition admonition-seealso\" role=\"note\">\n<p class=\"admonition-title\">Lihat juga</p>\n<p>Baca <a class=\"reference internal\" href=\"/id/2.1/ref/forms/renderers/#overriding-built-in-widget-templates\"><span class=\"std std-ref\">Menimpa cetakan widget siap-pakai</span></a> jika anda sedang mencari untuk melakukannya.</p>\n</aside>\n<section id=\"overriding-from-the-project-s-templates-directory\">\n<h2>Menimpa dari direktori cetakan proyek<a class=\"heading-anchor\" href=\"#overriding-from-the-project-s-templates-directory\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Pertama, kami akan menjelajahi menimpa cetakan dengan membuat cetakan pengganti dalam direktori cetakan proyek anda.</p>\n<p>Mari kita katakan anda sedang mencoba menimpa cetakan untuk aplikasi pihak-ketiga disebut <code class=\"docutils literal notranslate\">blog</code>, yang menyediakan cetakan <code class=\"docutils literal notranslate\">blog/post.html</code> dan <code class=\"docutils literal notranslate\">blog/list.html</code>. Pengaturan terkait untuk proyek anda akan terlihat seperti:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">import</span> <span class=\"nn\">os</span>\n\nBASE_DIR <span class=\"o\">=</span> os<span class=\"o\">.</span>path<span class=\"o\">.</span>dirname<span class=\"p\">(</span>os<span class=\"o\">.</span>path<span class=\"o\">.</span>dirname<span class=\"p\">(</span>os<span class=\"o\">.</span>path<span class=\"o\">.</span>abspath<span class=\"p\">(</span><span class=\"vm\">__file__</span><span class=\"p\">)))</span>\n\nINSTALLED_APPS <span class=\"o\">=</span> <span class=\"p\">[</span>\n    <span class=\"o\">...</span><span class=\"p\">,</span>\n    <span class=\"s1\">&#39;blog&#39;</span><span class=\"p\">,</span>\n    <span class=\"o\">...</span><span class=\"p\">,</span>\n<span class=\"p\">]</span>\n\nTEMPLATES <span class=\"o\">=</span> <span class=\"p\">[</span>\n    <span class=\"p\">{</span>\n        <span class=\"s1\">&#39;BACKEND&#39;</span><span class=\"p\">:</span> <span class=\"s1\">&#39;django.template.backends.django.DjangoTemplates&#39;</span><span class=\"p\">,</span>\n        <span class=\"s1\">&#39;DIRS&#39;</span><span class=\"p\">:</span> <span class=\"p\">[</span>os<span class=\"o\">.</span>path<span class=\"o\">.</span>join<span class=\"p\">(</span>BASE_DIR<span class=\"p\">,</span> <span class=\"s1\">&#39;templates&#39;</span><span class=\"p\">)],</span>\n        <span class=\"s1\">&#39;APP_DIRS&#39;</span><span class=\"p\">:</span> <span class=\"kc\">True</span><span class=\"p\">,</span>\n        <span class=\"o\">...</span>\n    <span class=\"p\">},</span>\n<span class=\"p\">]</span>\n</code></pre></div>\n<p>Pengaturan <a class=\"reference internal\" href=\"/id/2.1/ref/settings/#std-setting-TEMPLATES\"><code class=\"xref std std-setting docutils literal notranslate\">TEMPLATES</code></a> dan <code class=\"docutils literal notranslate\">BASE_DIR</code> akan sudah ada jika anda membuat proyek anda menggunakan cetakan proyek awalan. Pengaturan yang butuh dirubah adalah <code class=\"xref std std-setting docutils literal notranslate\">DIRS1</code>.</p>\n<p>Pengaturan ini menganggap anda mempunyai sebuah direktori <code class=\"docutils literal notranslate\">templates</code> dalam akar dari proyek anda. Untuk menimpa cetakan untuk aplikasi <code class=\"docutils literal notranslate\">blog</code>, buat sebuah folder dalam direktori <code class=\"docutils literal notranslate\">templates</code>, dan tambah berkas-berkas cetakan ke folder itu.</p>\n<div class=\"code-block\" data-language=\"none\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">None</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=\"None code\"><code>templates/\n    blog/\n        list.html\n        post.html\n</code></pre></div>\n<p>Pemuat cetakan pertama mencari untuk cetakan dalam direktori <code class=\"docutils literal notranslate\">DIRS</code>. ketika tampilan dalam aplikasi <code class=\"docutils literal notranslate\">blog</code> untuk cetakan <code class=\"docutils literal notranslate\">blog/post.html</code> dan <code class=\"docutils literal notranslate\">blog/list.html</code>, pemuat akan mengembalikan berkas-berkas anda telah buat.</p>\n</section>\n<section id=\"overriding-from-an-app-s-template-directory\">\n<h2>Menimpa dari direktori cetakan aplikasi<a class=\"heading-anchor\" href=\"#overriding-from-an-app-s-template-directory\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Sejak anda sedang menimpa cetakan bertempat di luar dari satu dari aplikasi proyek anda, itu adalah lebih umum menggunakan metode pertama dan menaruh cetakan penimpaan dalam sebuah folder cetakan proyek. Jika anda memilih, bagaimanapun, itu juga memungkinkan menaruh penimpaan dalam sebuah direktori cetakan aplikasi.</p>\n<p>Pertama, pastikan pengaturan cetakan anda memeriksa didalam direktori aplikasi:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>TEMPLATES <span class=\"o\">=</span> <span class=\"p\">[</span>\n    <span class=\"p\">{</span>\n        <span class=\"o\">...</span><span class=\"p\">,</span>\n        <span class=\"s1\">&#39;APP_DIRS&#39;</span><span class=\"p\">:</span> <span class=\"kc\">True</span><span class=\"p\">,</span>\n        <span class=\"o\">...</span>\n    <span class=\"p\">},</span>\n<span class=\"p\">]</span>\n</code></pre></div>\n<p>Jika anda ingin menaruh cetakan penimpaan dalam sebuah aplikasi disebut <code class=\"docutils literal notranslate\">myapp</code> dan cetakan untuk menima bernama <code class=\"docutils literal notranslate\">blog/list.html</code> dan <code class=\"docutils literal notranslate\">blog/post.html</code>, kemudian struktur direktori anda akan terlihat seperti:</p>\n<div class=\"code-block\" data-language=\"none\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">None</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=\"None code\"><code>myapp/\n    templates/\n        blog/\n            list.html\n            post.html\n</code></pre></div>\n<p>Dengan <code class=\"xref std std-setting docutils literal notranslate\">APP_DIRS1</code> disetel menjadi <code class=\"docutils literal notranslate\">True</code>, pemuat cetakan akan terlihat dalam direktori cetakan aplikasi dan menemukan cetakan.</p>\n</section>","rootId":"overriding-templates","toc":[{"title":"Menimpa dari direktori cetakan proyek","anchor":"overriding-from-the-project-s-templates-directory","children":[]},{"title":"Menimpa dari direktori cetakan aplikasi","anchor":"overriding-from-an-app-s-template-directory","children":[]}],"breadcrumbs":[{"docname":"howto/index","title":"Panduan \"Bagaimana\"","url":"/id/2.1/howto/"}],"prev":{"docname":"howto/outputting-pdf","title":"Mengeluarkan PDF dengan Django","url":"/id/2.1/howto/outputting-pdf/"},"next":{"docname":"howto/static-files/index","title":"Mengelola berkas statis (sebagai contoh gambar, JavaScript, CSS)","url":"/id/2.1/howto/static-files/"},"formats":{"html":"/id/2.1/howto/overriding-templates/","markdown":"/id/2.1/howto/overriding-templates.md","json":"/id/2.1/howto/overriding-templates.json"},"source":"https://github.com/django/django/blob/stable/2.1.x/docs/howto/overriding-templates.txt","official":"https://docs.djangoproject.com/id/2.1/howto/overriding-templates/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11"],"inLocales":["en","zh-hans","fr","ja","id","pt-br","ko","es","el","pl"]}