{"title":"Daftar centang penyebaran","version":"4.2","locale":"id","docname":"howto/deployment/checklist","url":"/id/4.2/howto/deployment/checklist/","canonical":"https://djangodocs.dev/id/4.2/howto/deployment/checklist/","summary":"Internet adalah lingkungan agresif. Sebelum mengembangkan proyek Django anda, anda harus mengambil waktu untuk meninjau pengaturan anda, dengan keamanan,…","html":"<h1>Daftar centang penyebaran<a class=\"heading-anchor\" href=\"#deployment-checklist\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Internet adalah lingkungan agresif. Sebelum mengembangkan proyek Django anda, anda harus mengambil waktu untuk meninjau pengaturan anda, dengan keamanan, penampilan, dan operasi dalam pikiran.</p>\n<p>Django menyertakan banyak <a class=\"reference internal\" href=\"/id/4.2/topics/security/\"><span class=\"doc\">fitur keamanan</span></a>. Beberapa dibangun dan selalu tersedia. Lainnya pilihan karena mereka tidak selalu sesuai, atau karena mereka susah untuk dikembangkan. Sebagai contoh, memaksa HTTPS mungkin tidak cocok untuk semua situs jaringan, dan dia tidak berguna untuk pengembangan lokal.</p>\n<p>Optimalisasi penampilan adalah kategori lain dari penjualan dengan mudahnya. Sebagai contoh, menembolok sangat berguna dalam produksi, sedikit juga untuk pengembangan lokal. Kebutuhan pelaporan kesalahan sangat berbeda.</p>\n<p>Daftar centang berikut menyertakan pengaturan yang:</p>\n<ul class=\"simple\">\n<li><p>harus di setel dengan benar untuk Django untuk menyediakan tingkatan diharapkan dari keamanan;</p></li>\n<li><p>diharapkan menjadi berbeda dalam setiap lingkungan;</p></li>\n<li><p>adakan pilihan fitur keamanan;</p></li>\n<li><p>adakan optimalisasi penampilan;</p></li>\n<li><p>menyediakan pelaporan kesalahan.</p></li>\n</ul>\n<p>Banyak dari setelan ini adalah sesitif dan harus diperlakukan rahasia. Jika anda sedang menerbitkan sumber kode untuk proyek anda, praktik umum adalah menerbitkan pengaturan yang cocok untuk pengembangan, dan menggunakan modul setelan pribadi untuk produksi.</p>\n<section id=\"run-manage-py-check-deploy\">\n<h2>Jalankan <code class=\"docutils literal notranslate\"><span class=\"pre\">manage.py</span> <span class=\"pre\">check</span> <span class=\"pre\">--deploy</span></code><a class=\"heading-anchor\" href=\"#run-manage-py-check-deploy\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Beberapa pemeriksaan digambarkan dibawah dapat diotomatisasi menggunakan pilihan <a class=\"reference internal\" href=\"/id/4.2/ref/django-admin/#cmdoption-check-deploy\"><code class=\"xref std std-option docutils literal notranslate\"><span class=\"pre\">check</span> <span class=\"pre\">--deploy</span></code></a>. Pastikan menjalankannya terhadap berkas pengaturan produksi anda seperti yang digambarkan dalam dokumentasi pilihan.</p>\n</section>\n<section id=\"critical-settings\">\n<h2>Pengaturan kritis<a class=\"heading-anchor\" href=\"#critical-settings\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"secret-key\">\n<h3><a class=\"reference internal\" href=\"/id/4.2/ref/settings/#std-setting-SECRET_KEY\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SECRET_KEY</span></code></a><a class=\"heading-anchor\" href=\"#secret-key\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><strong>Kunci rahasia harus nilai acak besar dan dia harus tetap rahasia.</strong></p>\n<p>Pastikan bahwa kunci digunakan dalam produksi tidak digunakan dimanapun dan hindari menyerahkannya ke sumber kendali. Ini mengurangi sejumlah vektor dari yang sebuah penyerang mungkin mendapatkan kunci.</p>\n<p>Daripada kode keras kuncu rahasia dalam modul pengaturan anda, pertimbangkan memuatnya dari sebuah variabel lingkungan:</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=\"w\"> </span><span class=\"nn\">os</span>\n\n<span class=\"n\">SECRET_KEY</span> <span class=\"o\">=</span> <span class=\"n\">os</span><span class=\"o\">.</span><span class=\"n\">environ</span><span class=\"p\">[</span><span class=\"s2\">&quot;SECRET_KEY&quot;</span><span class=\"p\">]</span>\n</code></pre></div>\n<p>atau dari sebuah berkas:</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=\"k\">with</span> <span class=\"nb\">open</span><span class=\"p\">(</span><span class=\"s2\">&quot;/etc/secret_key.txt&quot;</span><span class=\"p\">)</span> <span class=\"k\">as</span> <span class=\"n\">f</span><span class=\"p\">:</span>\n    <span class=\"n\">SECRET_KEY</span> <span class=\"o\">=</span> <span class=\"n\">f</span><span class=\"o\">.</span><span class=\"n\">read</span><span class=\"p\">()</span><span class=\"o\">.</span><span class=\"n\">strip</span><span class=\"p\">()</span>\n</code></pre></div>\n<p>Jika memutar kunci rahasia, anda mungkin menggunakan <a class=\"reference internal\" href=\"/id/4.2/ref/settings/#std-setting-SECRET_KEY_FALLBACKS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SECRET_KEY_FALLBACKS</span></code></a>:</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=\"w\"> </span><span class=\"nn\">os</span>\n\n<span class=\"n\">SECRET_KEY</span> <span class=\"o\">=</span> <span class=\"n\">os</span><span class=\"o\">.</span><span class=\"n\">environ</span><span class=\"p\">[</span><span class=\"s2\">&quot;CURRENT_SECRET_KEY&quot;</span><span class=\"p\">]</span>\n<span class=\"n\">SECRET_KEY_FALLBACKS</span> <span class=\"o\">=</span> <span class=\"p\">[</span>\n    <span class=\"n\">os</span><span class=\"o\">.</span><span class=\"n\">environ</span><span class=\"p\">[</span><span class=\"s2\">&quot;OLD_SECRET_KEY&quot;</span><span class=\"p\">],</span>\n<span class=\"p\">]</span>\n</code></pre></div>\n<p>Pastikan bahwa kunci rahasia lama dipindahkan dari <code class=\"docutils literal notranslate\"><span class=\"pre\">SECRET_KEY_FALLBACKS</span></code> pada waktu yang tepat..</p>\n<aside class=\"version-note version-changed\" data-version=\"4.1\">\n<p class=\"version-note-title\">Changed in Django 4.1</p><p>Pengaturan <code class=\"docutils literal notranslate\"><span class=\"pre\">SECRET_KEY_FALLBACKS</span></code> telah ditambahkan untuk mendukung perputaran kunci rahasia.</p>\n</aside>\n</section>\n<section id=\"debug\">\n<h3><a class=\"reference internal\" href=\"/id/4.2/ref/settings/#std-setting-DEBUG\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DEBUG</span></code></a><a class=\"heading-anchor\" href=\"#debug\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><strong>Anda dilarang mengaktifkan debug di lingkungan produksi.</strong></p>\n<p>Anda pasti mengembangkan proyek anda dengan <a class=\"reference internal\" href=\"/id/4.2/ref/settings/#std-setting-DEBUG\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DEBUG</span> <span class=\"pre\">=</span> <span class=\"pre\">True</span></code></a>, sejak ini mengadakan fitur mudah seperti pelacakan kembali penuh dalam perambah anda.</p>\n<p>Untuk sebuah lingkungan produksi, meskipun, ini adalah ide jelek, karena dia membocorkan banyak informasi tentang proyek anda; kutipan dari kode sumber anda, variabel lokal, pengaturan, pustaka-pustaka digunakan, dll.</p>\n</section>\n</section>\n<section id=\"environment-specific-settings\">\n<h2>Pengaturan lingkungan-khusus<a class=\"heading-anchor\" href=\"#environment-specific-settings\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"allowed-hosts\">\n<h3><a class=\"reference internal\" href=\"/id/4.2/ref/settings/#std-setting-ALLOWED_HOSTS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">ALLOWED_HOSTS</span></code></a><a class=\"heading-anchor\" href=\"#allowed-hosts\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Ketika <a class=\"reference internal\" href=\"/id/4.2/ref/settings/#std-setting-DEBUG\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DEBUG</span> <span class=\"pre\">=</span> <span class=\"pre\">False</span></code></a>, Django tidak bekerja sama sekali tanpa nilai cocok untuk <a class=\"reference internal\" href=\"/id/4.2/ref/settings/#std-setting-ALLOWED_HOSTS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">ALLOWED_HOSTS</span></code></a>.</p>\n<p>Pengaturan ini diwajibkan untuk melindungi situs anda terhadap beberapa serangan CSRF. Jika anda menggunakan wildcard, anda harus melakukan pengecekan anda sendiri dari kepala <code class=\"docutils literal notranslate\"><span class=\"pre\">Host</span></code> HTTP, atau jika tidak pastikan bahwa anda tidak rentan ke kategori serangan ini.</p>\n<p>You should also configure the web server that sits in front of Django to\nvalidate the host. It should respond with a static error page or ignore\nrequests for incorrect hosts instead of forwarding the request to Django. This\nway you'll avoid spurious errors in your Django logs (or emails if you have\nerror reporting configured that way). For example, on nginx you might set up a\ndefault server to return &quot;444 No Response&quot; on an unrecognized host:</p>\n<div class=\"code-block\" data-language=\"nginx\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Nginx</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=\"Nginx code\"><code><span class=\"k\">server</span><span class=\"w\"> </span><span class=\"p\">{</span>\n<span class=\"w\">    </span><span class=\"kn\">listen</span><span class=\"w\"> </span><span class=\"mi\">80</span><span class=\"w\"> </span><span class=\"s\">default_server</span><span class=\"p\">;</span>\n<span class=\"w\">    </span><span class=\"kn\">return</span><span class=\"w\"> </span><span class=\"mi\">444</span><span class=\"p\">;</span>\n<span class=\"p\">}</span>\n</code></pre></div>\n</section>\n<section id=\"caches\">\n<h3><a class=\"reference internal\" href=\"/id/4.2/ref/settings/#std-setting-CACHES\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">CACHES</span></code></a><a class=\"heading-anchor\" href=\"#caches\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Jika anda sedang menggunakan penyimpanan sementara, parameter hubungan mungkin berbeda dalam pengembangan dan di produksi. Awalan Django pada per-pengolahan <a class=\"reference internal\" href=\"/id/4.2/topics/cache/#local-memory-caching\"><span class=\"std std-ref\">local-memory caching</span></a> yang mungkin tidak diinginkan.</p>\n<p>Server penyimpanan seringnya memiliki autentifikasi yang lemah. Pastikan hanya menerima koneksi dari server aplikasi anda saja.</p>\n</section>\n<section id=\"databases\">\n<h3><a class=\"reference internal\" href=\"/id/4.2/ref/settings/#std-setting-DATABASES\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DATABASES</span></code></a><a class=\"heading-anchor\" href=\"#databases\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Parameter hubungan basisdata kemungkinan berbeda di pengembangan dan di produksi.</p>\n<p>Sandi basisdata sangat rahasia. Anda harus melindungi mereka persis seperti <a class=\"reference internal\" href=\"/id/4.2/ref/settings/#std-setting-SECRET_KEY\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SECRET_KEY</span></code></a>.</p>\n<p>Untuk keamanan maksimal, pastikan peladen basisdata hanya menerima hubungan dari peladen aplikasi anda.</p>\n<p>Jika anda belum menyetel sokongan basisdata anda, lakukan sekarang!</p>\n</section>\n<section id=\"email-backend-and-related-settings\">\n<h3><a class=\"reference internal\" href=\"/id/4.2/ref/settings/#std-setting-EMAIL_BACKEND\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">EMAIL_BACKEND</span></code></a> dan pengaturan terkait<a class=\"heading-anchor\" href=\"#email-backend-and-related-settings\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Jika situs anda mengirim surel, nilai ini butuh disetel dengan benar.</p>\n<p>Secara awal, Django mengirim surel dari <a class=\"reference external\" href=\"mailto:webmaster&#37;&#52;&#48;localhost\">webmaster<span>&#64;</span>localhost</a> dan <a class=\"reference external\" href=\"mailto:root&#37;&#52;&#48;localhost\">root<span>&#64;</span>localhost</a>. Bagaimanapun, beberapa penyedia surat menolak surel dari alamat ini. Untuk menggunakan alamat pengirim berbeda, rubah pengaturan <a class=\"reference internal\" href=\"/id/4.2/ref/settings/#std-setting-DEFAULT_FROM_EMAIL\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DEFAULT_FROM_EMAIL</span></code></a> dan <a class=\"reference internal\" href=\"/id/4.2/ref/settings/#std-setting-SERVER_EMAIL\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SERVER_EMAIL</span></code></a></p>\n</section>\n<section id=\"static-root-and-static-url\">\n<h3><a class=\"reference internal\" href=\"/id/4.2/ref/settings/#std-setting-STATIC_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STATIC_ROOT</span></code></a> dan <a class=\"reference internal\" href=\"/id/4.2/ref/settings/#std-setting-STATIC_URL\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STATIC_URL</span></code></a><a class=\"heading-anchor\" href=\"#static-root-and-static-url\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Berkas statis otomatis dilayani oleh peladen pengembangan. Di produksi, anda harus menentukan direktori <a class=\"reference internal\" href=\"/id/4.2/ref/settings/#std-setting-STATIC_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STATIC_ROOT</span></code></a> dimana <a class=\"reference internal\" href=\"/id/4.2/ref/contrib/staticfiles/#django-admin-collectstatic\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">collectstatic</span></code></a> akan menyalin mereka.</p>\n<p>Lihat <a class=\"reference internal\" href=\"/id/4.2/howto/static-files/\"><span class=\"doc\">Bagaimana mengelola berkas statik (misalnya gambar, JavaScript, CSS)</span></a> untuk informasi lebih.</p>\n</section>\n<section id=\"media-root-and-media-url\">\n<h3><a class=\"reference internal\" href=\"/id/4.2/ref/settings/#std-setting-MEDIA_ROOT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MEDIA_ROOT</span></code></a> dan <a class=\"reference internal\" href=\"/id/4.2/ref/settings/#std-setting-MEDIA_URL\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MEDIA_URL</span></code></a><a class=\"heading-anchor\" href=\"#media-root-and-media-url\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Berkas-berkas media diunggah oleh pengguna anda. Mereka adalah tidak dapat dipercaya! Pastikan peladen jaringan anda tidak pernah berusaha menterjemahkan mereka. Sebagai contoh, jika seorang pengguna mengunggah berkas <code class=\"docutils literal notranslate\"><span class=\"pre\">.php</span></code>, peladen jaringan jangan menjalankannya.</p>\n<p>Sekarang waktu tepat untuk memeriksa strategi sokongan anda untuk berkas ini.</p>\n</section>\n</section>\n<section id=\"https\">\n<h2>HTTPS<a class=\"heading-anchor\" href=\"#https\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Jaringan situs apapun yang mengizinkan pengguna untuk masuh harus melaksanakan lebar-situs HTTPS untuk menghindari token transmisi akses jelas. Di Django, token akses menyertakan masuk/sandi, sesi kue, dan setel kembali sandi token. (Anda tidak dapat melakukan banyak untuk melindungi sandi setel kembali token jika anda mengirim mereka dengan surel.)</p>\n<p>Melindungi kawasan sensitif seperti akun pengguna atau admin tidak cukuo, karena sesi kue sama digunakan untuk HTTP dan HTTPS. Peladen jaringan anda ahrus mengalihkan semua lalu lintas HTTP ke HTTPS, dan hanya mengirimkan permintaan HTTPS ke Django.</p>\n<p>Sekali anda telah menyetel HTTPS, adakan pengaturan berikut.</p>\n<section id=\"csrf-cookie-secure\">\n<h3><a class=\"reference internal\" href=\"/id/4.2/ref/settings/#std-setting-CSRF_COOKIE_SECURE\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">CSRF_COOKIE_SECURE</span></code></a><a class=\"heading-anchor\" href=\"#csrf-cookie-secure\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Setel ini menjadi  <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> untuk menghindari mengirimkan kue CSRF melalui HTTP dengan tidak sengaja.</p>\n</section>\n<section id=\"session-cookie-secure\">\n<h3><a class=\"reference internal\" href=\"/id/4.2/ref/settings/#std-setting-SESSION_COOKIE_SECURE\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SESSION_COOKIE_SECURE</span></code></a><a class=\"heading-anchor\" href=\"#session-cookie-secure\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Ubah jadi <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> untuk menghindari pengiriman cookie sesi melalui HTTP secara tidak sengaja.</p>\n</section>\n</section>\n<section id=\"performance-optimizations\">\n<h2>Optimalisasi penampilan<a class=\"heading-anchor\" href=\"#performance-optimizations\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Pengaturan <a class=\"reference internal\" href=\"/id/4.2/ref/settings/#std-setting-DEBUG\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DEBUG</span> <span class=\"pre\">=</span> <span class=\"pre\">False</span></code></a> meniadakan beberapa fitur yang hanya berguna dalam pengembangan. Dalam tambahan, anda dapat menyesuaikan pengaturan berikut.</p>\n<section id=\"sessions\">\n<h3>Sesi<a class=\"heading-anchor\" href=\"#sessions\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Pertimbangkan menggunakan <a class=\"reference internal\" href=\"/id/4.2/topics/http/sessions/#cached-sessions-backend\"><span class=\"std std-ref\">cached sessions</span></a> untuk meningkatkan penampilan.</p>\n<p>Jika menggunakan sesi didukung-basisdata, secara teratur <a class=\"reference internal\" href=\"/id/4.2/topics/http/sessions/#clearing-the-session-store\"><span class=\"std std-ref\">clear old sessions</span></a> untuk menghindari menyimpan data yang tidak diperlukan.</p>\n</section>\n<section id=\"conn-max-age\">\n<h3><a class=\"reference internal\" href=\"/id/4.2/ref/settings/#std-setting-CONN_MAX_AGE\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">CONN_MAX_AGE</span></code></a><a class=\"heading-anchor\" href=\"#conn-max-age\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Mengadakan <a class=\"reference internal\" href=\"/id/4.2/ref/databases/#persistent-database-connections\"><span class=\"std std-ref\">persistent database connections</span></a> dapat menghasilkan sebuah kecepatan bagus ketika berhubung ke akun basisdata untuk bagian khusus dari waktu pengolahan permintaan.</p>\n<p>Ini membantu banyak pada rumah virtual dengan penampilan jaringan terbatas.</p>\n</section>\n<section id=\"templates\">\n<h3><a class=\"reference internal\" href=\"/id/4.2/ref/settings/#std-setting-TEMPLATES\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">TEMPLATES</span></code></a><a class=\"heading-anchor\" href=\"#templates\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Enabling the cached template loader often improves performance drastically, as\nit avoids compiling each template every time it needs to be rendered. When\n<a class=\"reference internal\" href=\"/id/4.2/ref/settings/#std-setting-DEBUG\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DEBUG</span> <span class=\"pre\">=</span> <span class=\"pre\">False</span></code></a>, the cached template loader is enabled\nautomatically. See <a class=\"reference internal\" href=\"/id/4.2/ref/templates/api/#django.template.loaders.cached.Loader\" title=\"django.template.loaders.cached.Loader\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.template.loaders.cached.Loader</span></code></a> for more\ninformation.</p>\n</section>\n</section>\n<section id=\"error-reporting\">\n<h2>Pelaporan kesalahan<a class=\"heading-anchor\" href=\"#error-reporting\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Seiring waktu anda mendorong kode anda ke produksi, semoga kuat, tetapi anda tidak dapat menimpa kesalahan-kesalahan tidak diharapkan. Terima kasih, Django dapat menangkap kesalahan-kesalahan dan memberitahu anda yang sesuai.</p>\n<section id=\"logging\">\n<h3><a class=\"reference internal\" href=\"/id/4.2/ref/settings/#std-setting-LOGGING\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">LOGGING</span></code></a><a class=\"heading-anchor\" href=\"#logging\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Pratinjau konfigurasi pencatatan anda sebelum menaruh situs jaringan anda dalam produksi, dan periksa bahwa dia bekerja seauai harapan setelah anda menerima beberapa lalu lintas.</p>\n<p>Lihat <a class=\"reference internal\" href=\"/id/4.2/topics/logging/\"><span class=\"doc\">Pencatatan</span></a> untuk rincian pada tempuhan.</p>\n</section>\n<section id=\"admins-and-managers\">\n<h3><a class=\"reference internal\" href=\"/id/4.2/ref/settings/#std-setting-ADMINS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">ADMINS</span></code></a> dan <a class=\"reference internal\" href=\"/id/4.2/ref/settings/#std-setting-MANAGERS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MANAGERS</span></code></a><a class=\"heading-anchor\" href=\"#admins-and-managers\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><a class=\"reference internal\" href=\"/id/4.2/ref/settings/#std-setting-ADMINS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">ADMINS</span></code></a> akan diberitahu dari 500 kesalahan oleh surel.</p>\n<p><a class=\"reference internal\" href=\"/id/4.2/ref/settings/#std-setting-MANAGERS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MANAGERS</span></code></a> akan diberitahu kesalahan 404. <a class=\"reference internal\" href=\"/id/4.2/ref/settings/#std-setting-IGNORABLE_404_URLS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">IGNORABLE_404_URLS</span></code></a> dapat membantu saringan laporan palsu.</p>\n<p>Lihat <a class=\"reference internal\" href=\"/id/4.2/howto/error-reporting/\"><span class=\"doc\">Bagaimana mengelola pelaporan kesalahan</span></a> untuk rincian di pelaporan kesalahan oleh email.</p>\n<aside class=\"admonition-error-reporting-by-email-doesn-t-scale-very-well admonition\">\n<p class=\"admonition-title\">Pelaporan error melalui surel tidak dapat dikembangkan pada skala lebih lebih besar dengan baik</p>\n<p>Pertimbangkan menggunakan sistem pengamatan kesalahan seperti <a class=\"reference external\" href=\"https://docs.sentry.io/\">Sentry</a> sebelum kotak masuk anda dibanjiri oleh laporan. Sentry dapat juga mengumpulkan catatan.</p>\n</aside>\n</section>\n<section id=\"customize-the-default-error-views\">\n<h3>Sesuaikan tampilan kesalahan awal<a class=\"heading-anchor\" href=\"#customize-the-default-error-views\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Django includes default views and templates for several HTTP error codes. You\nmay want to override the default templates by creating the following templates\nin your root template directory: <code class=\"docutils literal notranslate\"><span class=\"pre\">404.html</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">500.html</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">403.html</span></code>, and\n<code class=\"docutils literal notranslate\"><span class=\"pre\">400.html</span></code>. The <a class=\"reference internal\" href=\"/id/4.2/ref/views/#error-views\"><span class=\"std std-ref\">default error views</span></a> that use these\ntemplates should suffice for 99% of web applications, but you can\n<a class=\"reference internal\" href=\"/id/4.2/topics/http/views/#customizing-error-views\"><span class=\"std std-ref\">customize them</span></a> as well.</p>\n</section>\n</section>","rootId":"deployment-checklist","toc":[{"title":"Jalankan manage.py check --deploy","anchor":"run-manage-py-check-deploy","children":[]},{"title":"Pengaturan kritis","anchor":"critical-settings","children":[{"title":"SECRET_KEY","anchor":"secret-key","children":[]},{"title":"DEBUG","anchor":"debug","children":[]}]},{"title":"Pengaturan lingkungan-khusus","anchor":"environment-specific-settings","children":[{"title":"ALLOWED_HOSTS","anchor":"allowed-hosts","children":[]},{"title":"CACHES","anchor":"caches","children":[]},{"title":"DATABASES","anchor":"databases","children":[]},{"title":"EMAIL_BACKEND dan pengaturan terkait","anchor":"email-backend-and-related-settings","children":[]},{"title":"STATIC_ROOT dan STATIC_URL","anchor":"static-root-and-static-url","children":[]},{"title":"MEDIA_ROOT dan MEDIA_URL","anchor":"media-root-and-media-url","children":[]}]},{"title":"HTTPS","anchor":"https","children":[{"title":"CSRF_COOKIE_SECURE","anchor":"csrf-cookie-secure","children":[]},{"title":"SESSION_COOKIE_SECURE","anchor":"session-cookie-secure","children":[]}]},{"title":"Optimalisasi penampilan","anchor":"performance-optimizations","children":[{"title":"Sesi","anchor":"sessions","children":[]},{"title":"CONN_MAX_AGE","anchor":"conn-max-age","children":[]},{"title":"TEMPLATES","anchor":"templates","children":[]}]},{"title":"Pelaporan kesalahan","anchor":"error-reporting","children":[{"title":"LOGGING","anchor":"logging","children":[]},{"title":"ADMINS dan MANAGERS","anchor":"admins-and-managers","children":[]},{"title":"Sesuaikan tampilan kesalahan awal","anchor":"customize-the-default-error-views","children":[]}]}],"breadcrumbs":[{"docname":"howto/index","title":"Panduan \"Bagaimana\"","url":"/id/4.2/howto/"},{"docname":"howto/deployment/index","title":"Bagaimana menyebarkan Django","url":"/id/4.2/howto/deployment/"}],"prev":{"docname":"howto/deployment/asgi/uvicorn","title":"Bagaimana menggunakan Django dengan Uvicorn","url":"/id/4.2/howto/deployment/asgi/uvicorn/"},"next":{"docname":"howto/upgrade-version","title":"Bagaimana meningkatkan Django ke versi terbaru","url":"/id/4.2/howto/upgrade-version/"},"formats":{"html":"/id/4.2/howto/deployment/checklist/","markdown":"/id/4.2/howto/deployment/checklist.md","json":"/id/4.2/howto/deployment/checklist.json"},"source":"https://github.com/django/django/blob/stable/4.2.x/docs/howto/deployment/checklist.txt","official":"https://docs.djangoproject.com/id/4.2/howto/deployment/checklist/","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"]}