{"title":"Tampilan penyuntingan umum","version":"1.10","locale":"id","docname":"ref/class-based-views/generic-editing","url":"/id/1.10/ref/class-based-views/generic-editing/","canonical":"https://djangodocs.dev/id/1.10/ref/class-based-views/generic-editing/","summary":"Tampilan berikut digambarkan pada halaman ini dan menyediakan sebuah dasar untuk menyunting isi: django.views.generic.edit.FormView, django.views.generic.edi…","html":"<h1>Tampilan penyuntingan umum<a class=\"heading-anchor\" href=\"#generic-editing-views\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Tampilan berikut digambarkan pada halaman ini dan menyediakan sebuah dasar untuk menyunting isi:</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.edit.FormView\" title=\"django.views.generic.edit.FormView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.FormView</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.edit.CreateView\" title=\"django.views.generic.edit.CreateView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.CreateView</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.edit.UpdateView\" title=\"django.views.generic.edit.UpdateView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.UpdateView</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.edit.DeleteView\" title=\"django.views.generic.edit.DeleteView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.DeleteView</code></a></p></li>\n</ul>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Catatan</p>\n<p>Beberapa dari contoh-contoh pada halaman ini menganggap bahwa sebuah model <code class=\"docutils literal notranslate\">Author</code> telah ditentukan sebagai berikut di <code class=\"docutils literal notranslate\">myapp/models.py</code>:</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\">from</span> <span class=\"nn\">django.urls</span> <span class=\"kn\">import</span> reverse\n<span class=\"kn\">from</span> <span class=\"nn\">django.db</span> <span class=\"kn\">import</span> models\n\n<span class=\"k\">class</span> <span class=\"nc\">Author</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    name <span class=\"o\">=</span> models<span class=\"o\">.</span>CharField<span class=\"p\">(</span>max_length<span class=\"o\">=</span><span class=\"mi\">200</span><span class=\"p\">)</span>\n\n    <span class=\"k\">def</span> <span class=\"nf\">get_absolute_url</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">):</span>\n        <span class=\"k\">return</span> reverse<span class=\"p\">(</span><span class=\"s1\">&#39;author-detail&#39;</span><span class=\"p\">,</span> kwargs<span class=\"o\">=</span><span class=\"p\">{</span><span class=\"s1\">&#39;pk&#39;</span><span class=\"p\">:</span> <span class=\"bp\">self</span><span class=\"o\">.</span>pk<span class=\"p\">})</span>\n</code></pre></div>\n</aside>\n<section id=\"formview\">\n<h2><code class=\"docutils literal notranslate\">FormView</code><a class=\"heading-anchor\" href=\"#formview\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.FormView\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-prename descclassname\">django.views.generic.edit.</span><span class=\"sig-name descname\">FormView</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.FormView\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Sebuah tampilan yang memperlihatkan sebuah formulir. Pada kesalahan, memperlihatkan kembali formulir dengan pengesahan kesalahan; pada pengalihan sukses ke URL baru.</p>\n<p><strong>Ancestors (MRO)</strong></p>\n<p>Tampilan ini mewarisi metode dan atribut dari tampilan berikut:</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/id/1.10/ref/class-based-views/mixins-simple/#django.views.generic.base.TemplateResponseMixin\" title=\"django.views.generic.base.TemplateResponseMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.base.TemplateResponseMixin</code></a></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.views.generic.edit.BaseFormView</code></p></li>\n<li><p><a class=\"reference internal\" href=\"/id/1.10/ref/class-based-views/mixins-editing/#django.views.generic.edit.FormMixin\" title=\"django.views.generic.edit.FormMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.FormMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/id/1.10/ref/class-based-views/mixins-editing/#django.views.generic.edit.ProcessFormView\" title=\"django.views.generic.edit.ProcessFormView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.ProcessFormView</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/id/1.10/ref/class-based-views/base/#django.views.generic.base.View\" title=\"django.views.generic.base.View\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.base.View</code></a></p></li>\n</ul>\n<p><strong>Contoh myapp/forms.py</strong>:</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\">from</span> <span class=\"nn\">django</span> <span class=\"kn\">import</span> forms\n\n<span class=\"k\">class</span> <span class=\"nc\">ContactForm</span><span class=\"p\">(</span>forms<span class=\"o\">.</span>Form<span class=\"p\">):</span>\n    name <span class=\"o\">=</span> forms<span class=\"o\">.</span>CharField<span class=\"p\">()</span>\n    message <span class=\"o\">=</span> forms<span class=\"o\">.</span>CharField<span class=\"p\">(</span>widget<span class=\"o\">=</span>forms<span class=\"o\">.</span>Textarea<span class=\"p\">)</span>\n\n    <span class=\"k\">def</span> <span class=\"nf\">send_email</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">):</span>\n        <span class=\"c1\"># send email using the self.cleaned_data dictionary</span>\n        <span class=\"k\">pass</span>\n</code></pre></div>\n<p><strong>Contoh myapp/views.py</strong>:</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\">from</span> <span class=\"nn\">myapp.forms</span> <span class=\"kn\">import</span> ContactForm\n<span class=\"kn\">from</span> <span class=\"nn\">django.views.generic.edit</span> <span class=\"kn\">import</span> FormView\n\n<span class=\"k\">class</span> <span class=\"nc\">ContactView</span><span class=\"p\">(</span>FormView<span class=\"p\">):</span>\n    template_name <span class=\"o\">=</span> <span class=\"s1\">&#39;contact.html&#39;</span>\n    form_class <span class=\"o\">=</span> ContactForm\n    success_url <span class=\"o\">=</span> <span class=\"s1\">&#39;/thanks/&#39;</span>\n\n    <span class=\"k\">def</span> <span class=\"nf\">form_valid</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> form<span class=\"p\">):</span>\n        <span class=\"c1\"># This method is called when valid form data has been POSTed.</span>\n        <span class=\"c1\"># It should return an HttpResponse.</span>\n        form<span class=\"o\">.</span>send_email<span class=\"p\">()</span>\n        <span class=\"k\">return</span> <span class=\"nb\">super</span><span class=\"p\">(</span>ContactView<span class=\"p\">,</span> <span class=\"bp\">self</span><span class=\"p\">)</span><span class=\"o\">.</span>form_valid<span class=\"p\">(</span>form<span class=\"p\">)</span>\n</code></pre></div>\n<p><strong>Contoh myapp/contact.html</strong>:</p>\n<div class=\"code-block\" data-language=\"html+django\"><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=\"Django template code\"><code><span class=\"p\">&lt;</span><span class=\"nt\">form</span> <span class=\"na\">action</span><span class=\"o\">=</span><span class=\"s\">&quot;&quot;</span> <span class=\"na\">method</span><span class=\"o\">=</span><span class=\"s\">&quot;post&quot;</span><span class=\"p\">&gt;</span><span class=\"cp\">{%</span> <span class=\"k\">csrf_token</span> <span class=\"cp\">%}</span>\n    <span class=\"cp\">{{</span> <span class=\"nv\">form.as_p</span> <span class=\"cp\">}}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">input</span> <span class=\"na\">type</span><span class=\"o\">=</span><span class=\"s\">&quot;submit&quot;</span> <span class=\"na\">value</span><span class=\"o\">=</span><span class=\"s\">&quot;Send message&quot;</span> <span class=\"p\">/&gt;</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">form</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n</dd></dl>\n\n</section>\n<section id=\"createview\">\n<h2><code class=\"docutils literal notranslate\">CreateView</code><a class=\"heading-anchor\" href=\"#createview\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.CreateView\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-prename descclassname\">django.views.generic.edit.</span><span class=\"sig-name descname\">CreateView</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.CreateView\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Sebuah tampilan yang menampilkan sebuah formulir untuk membuat sebuah obyek, memperlihatkan kembali formulir dengan pengesahan kesalahan (jika ada) dan menyimpan obyek.</p>\n<p><strong>Ancestors (MRO)</strong></p>\n<p>Tampilan ini mewarisi metode dan atribut dari tampilan berikut:</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/id/1.10/ref/class-based-views/mixins-single-object/#django.views.generic.detail.SingleObjectTemplateResponseMixin\" title=\"django.views.generic.detail.SingleObjectTemplateResponseMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.detail.SingleObjectTemplateResponseMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/id/1.10/ref/class-based-views/mixins-simple/#django.views.generic.base.TemplateResponseMixin\" title=\"django.views.generic.base.TemplateResponseMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.base.TemplateResponseMixin</code></a></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.views.generic.edit.BaseCreateView</code></p></li>\n<li><p><a class=\"reference internal\" href=\"/id/1.10/ref/class-based-views/mixins-editing/#django.views.generic.edit.ModelFormMixin\" title=\"django.views.generic.edit.ModelFormMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.ModelFormMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/id/1.10/ref/class-based-views/mixins-editing/#django.views.generic.edit.FormMixin\" title=\"django.views.generic.edit.FormMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.FormMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/id/1.10/ref/class-based-views/mixins-single-object/#django.views.generic.detail.SingleObjectMixin\" title=\"django.views.generic.detail.SingleObjectMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.detail.SingleObjectMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/id/1.10/ref/class-based-views/mixins-editing/#django.views.generic.edit.ProcessFormView\" title=\"django.views.generic.edit.ProcessFormView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.ProcessFormView</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/id/1.10/ref/class-based-views/base/#django.views.generic.base.View\" title=\"django.views.generic.base.View\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.base.View</code></a></p></li>\n</ul>\n<p><strong>Atribut</strong></p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.CreateView.template_name_suffix\">\n<span class=\"sig-name descname\">template_name_suffix</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.CreateView.template_name_suffix\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Halaman <code class=\"docutils literal notranslate\">CreateView</code> diperlihatkan ke permintaan <code class=\"docutils literal notranslate\">GET</code> menggunakan <code class=\"docutils literal notranslate\">template_name_suffix</code> dari <code class=\"docutils literal notranslate\">'_form'</code>. Sebagai contoh, merubah atribut ini pada <code class=\"docutils literal notranslate\">'_create_form'</code> untuk sebuah tampilan membuat obyek-obyek untuk contoh model <code class=\"docutils literal notranslate\">Author</code> akan menyebabkan awalan <code class=\"docutils literal notranslate\">template_name</code> menjadi <code class=\"docutils literal notranslate\">'myapp/author_create_form.html'</code>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.CreateView.object\">\n<span class=\"sig-name descname\">object</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.CreateView.object\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Ketika menggunakan <code class=\"docutils literal notranslate\">CreateView</code> anda mempunyai akses ke <code class=\"docutils literal notranslate\">self.object</code>, yaitu obyek sedang dibuat. Jika obyek belum dibuat, nilai akan menjadi <code class=\"docutils literal notranslate\">None</code>.</p>\n</dd></dl>\n\n<p><strong>Contoh myapp/views.py</strong>:</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\">from</span> <span class=\"nn\">django.views.generic.edit</span> <span class=\"kn\">import</span> CreateView\n<span class=\"kn\">from</span> <span class=\"nn\">myapp.models</span> <span class=\"kn\">import</span> Author\n\n<span class=\"k\">class</span> <span class=\"nc\">AuthorCreate</span><span class=\"p\">(</span>CreateView<span class=\"p\">):</span>\n    model <span class=\"o\">=</span> Author\n    fields <span class=\"o\">=</span> <span class=\"p\">[</span><span class=\"s1\">&#39;name&#39;</span><span class=\"p\">]</span>\n</code></pre></div>\n<p><strong>Contoh myapp/author_form.html</strong>:</p>\n<div class=\"code-block\" data-language=\"html+django\"><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=\"Django template code\"><code><span class=\"p\">&lt;</span><span class=\"nt\">form</span> <span class=\"na\">action</span><span class=\"o\">=</span><span class=\"s\">&quot;&quot;</span> <span class=\"na\">method</span><span class=\"o\">=</span><span class=\"s\">&quot;post&quot;</span><span class=\"p\">&gt;</span><span class=\"cp\">{%</span> <span class=\"k\">csrf_token</span> <span class=\"cp\">%}</span>\n    <span class=\"cp\">{{</span> <span class=\"nv\">form.as_p</span> <span class=\"cp\">}}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">input</span> <span class=\"na\">type</span><span class=\"o\">=</span><span class=\"s\">&quot;submit&quot;</span> <span class=\"na\">value</span><span class=\"o\">=</span><span class=\"s\">&quot;Save&quot;</span> <span class=\"p\">/&gt;</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">form</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n</dd></dl>\n\n</section>\n<section id=\"updateview\">\n<h2><code class=\"docutils literal notranslate\">UpdateView</code><a class=\"heading-anchor\" href=\"#updateview\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.UpdateView\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-prename descclassname\">django.views.generic.edit.</span><span class=\"sig-name descname\">UpdateView</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.UpdateView\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Sebuah tampilan yang memperlihatkan sebuah formulir untuk menyunting sebuah obyek yang ada, memperlihatkan kembali formulir dengan pengesahan kesalahan (jika ada) dan menyimpan perubahan ke obyek. Ini menggunakan sebuah formulir secara otomatis dibangkitkan dari kelas model obyek (meskipun sebuah kelas formulir secara manual ditentukan).</p>\n<p><strong>Ancestors (MRO)</strong></p>\n<p>Tampilan ini mewarisi metode dan atribut dari tampilan berikut:</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/id/1.10/ref/class-based-views/mixins-single-object/#django.views.generic.detail.SingleObjectTemplateResponseMixin\" title=\"django.views.generic.detail.SingleObjectTemplateResponseMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.detail.SingleObjectTemplateResponseMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/id/1.10/ref/class-based-views/mixins-simple/#django.views.generic.base.TemplateResponseMixin\" title=\"django.views.generic.base.TemplateResponseMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.base.TemplateResponseMixin</code></a></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.views.generic.edit.BaseUpdateView</code></p></li>\n<li><p><a class=\"reference internal\" href=\"/id/1.10/ref/class-based-views/mixins-editing/#django.views.generic.edit.ModelFormMixin\" title=\"django.views.generic.edit.ModelFormMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.ModelFormMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/id/1.10/ref/class-based-views/mixins-editing/#django.views.generic.edit.FormMixin\" title=\"django.views.generic.edit.FormMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.FormMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/id/1.10/ref/class-based-views/mixins-single-object/#django.views.generic.detail.SingleObjectMixin\" title=\"django.views.generic.detail.SingleObjectMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.detail.SingleObjectMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/id/1.10/ref/class-based-views/mixins-editing/#django.views.generic.edit.ProcessFormView\" title=\"django.views.generic.edit.ProcessFormView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.ProcessFormView</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/id/1.10/ref/class-based-views/base/#django.views.generic.base.View\" title=\"django.views.generic.base.View\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.base.View</code></a></p></li>\n</ul>\n<p><strong>Atribut</strong></p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.UpdateView.template_name_suffix\">\n<span class=\"sig-name descname\">template_name_suffix</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.UpdateView.template_name_suffix\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Halaman <code class=\"docutils literal notranslate\">UpdateView</code> diperlihatkan ke permintaan <code class=\"docutils literal notranslate\">GET</code> menggunakan <code class=\"docutils literal notranslate\">template_name_suffix</code> dari <code class=\"docutils literal notranslate\">'_form'</code>. Sebagai contoh, merubah atribut ini pada <code class=\"docutils literal notranslate\">'_update_form'</code> untuk sebuah tampilan membuat obyek-obyek untuk contoh model <code class=\"docutils literal notranslate\">Author</code> akan menyebabkan awalan <code class=\"docutils literal notranslate\">template_name</code> menjadi <code class=\"docutils literal notranslate\">'myapp/author_update_form.html'</code>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.UpdateView.object\">\n<span class=\"sig-name descname\">object</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.UpdateView.object\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Ketika menggunakan <code class=\"docutils literal notranslate\">UpdateView</code> anda mempunyai akses ke <code class=\"docutils literal notranslate\">self.object</code>, yaitu obyek sedang diperbaharui.</p>\n</dd></dl>\n\n<p><strong>Contoh myapp/views.py</strong>:</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\">from</span> <span class=\"nn\">django.views.generic.edit</span> <span class=\"kn\">import</span> UpdateView\n<span class=\"kn\">from</span> <span class=\"nn\">myapp.models</span> <span class=\"kn\">import</span> Author\n\n<span class=\"k\">class</span> <span class=\"nc\">AuthorUpdate</span><span class=\"p\">(</span>UpdateView<span class=\"p\">):</span>\n    model <span class=\"o\">=</span> Author\n    fields <span class=\"o\">=</span> <span class=\"p\">[</span><span class=\"s1\">&#39;name&#39;</span><span class=\"p\">]</span>\n    template_name_suffix <span class=\"o\">=</span> <span class=\"s1\">&#39;_update_form&#39;</span>\n</code></pre></div>\n<p><strong>Contoh myapp/author_update_form.html</strong>:</p>\n<div class=\"code-block\" data-language=\"html+django\"><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=\"Django template code\"><code><span class=\"p\">&lt;</span><span class=\"nt\">form</span> <span class=\"na\">action</span><span class=\"o\">=</span><span class=\"s\">&quot;&quot;</span> <span class=\"na\">method</span><span class=\"o\">=</span><span class=\"s\">&quot;post&quot;</span><span class=\"p\">&gt;</span><span class=\"cp\">{%</span> <span class=\"k\">csrf_token</span> <span class=\"cp\">%}</span>\n    <span class=\"cp\">{{</span> <span class=\"nv\">form.as_p</span> <span class=\"cp\">}}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">input</span> <span class=\"na\">type</span><span class=\"o\">=</span><span class=\"s\">&quot;submit&quot;</span> <span class=\"na\">value</span><span class=\"o\">=</span><span class=\"s\">&quot;Update&quot;</span> <span class=\"p\">/&gt;</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">form</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n</dd></dl>\n\n</section>\n<section id=\"deleteview\">\n<h2><code class=\"docutils literal notranslate\">DeleteView</code><a class=\"heading-anchor\" href=\"#deleteview\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.DeleteView\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-prename descclassname\">django.views.generic.edit.</span><span class=\"sig-name descname\">DeleteView</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.DeleteView\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Sebuah tampilan yang memperlihatkan sebuah halaman penegasan dan menghapus obyek yang ada. Obyek yang diberikan akan hanya dihapus jika metode permintaan adalah <code class=\"docutils literal notranslate\">POST</code>. Jika tampilan ini diambil melalui <code class=\"docutils literal notranslate\">GET</code>, itu akan memperlihatkan sebuah halaman penegasan yang harus mengandung sebuah formulir yang POST ke URL sama.</p>\n<p><strong>Ancestors (MRO)</strong></p>\n<p>Tampilan ini mewarisi metode dan atribut dari tampilan berikut:</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/id/1.10/ref/class-based-views/mixins-single-object/#django.views.generic.detail.SingleObjectTemplateResponseMixin\" title=\"django.views.generic.detail.SingleObjectTemplateResponseMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.detail.SingleObjectTemplateResponseMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/id/1.10/ref/class-based-views/mixins-simple/#django.views.generic.base.TemplateResponseMixin\" title=\"django.views.generic.base.TemplateResponseMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.base.TemplateResponseMixin</code></a></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.views.generic.edit.BaseDeleteView</code></p></li>\n<li><p><a class=\"reference internal\" href=\"/id/1.10/ref/class-based-views/mixins-editing/#django.views.generic.edit.DeletionMixin\" title=\"django.views.generic.edit.DeletionMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.edit.DeletionMixin</code></a></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.views.generic.detail.BaseDetailView</code></p></li>\n<li><p><a class=\"reference internal\" href=\"/id/1.10/ref/class-based-views/mixins-single-object/#django.views.generic.detail.SingleObjectMixin\" title=\"django.views.generic.detail.SingleObjectMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.detail.SingleObjectMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/id/1.10/ref/class-based-views/base/#django.views.generic.base.View\" title=\"django.views.generic.base.View\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.base.View</code></a></p></li>\n</ul>\n<p><strong>Atribut</strong></p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.DeleteView.template_name_suffix\">\n<span class=\"sig-name descname\">template_name_suffix</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.DeleteView.template_name_suffix\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Halaman <code class=\"docutils literal notranslate\">DeleteView</code> diperlihatkan ke permintaan <code class=\"docutils literal notranslate\">GET</code> menggunakan <code class=\"docutils literal notranslate\">template_name_suffix</code> dari <code class=\"docutils literal notranslate\">'_confirm_delete'</code>. Sebagai contoh, merubah atribut ini pada <code class=\"docutils literal notranslate\">'_check_delete'</code> untuk sebuah tampilan membuat obyek-obyek untuk contoh model <code class=\"docutils literal notranslate\">Author</code> akan menyebabkan awalan <code class=\"docutils literal notranslate\">template_name</code> menjadi <code class=\"docutils literal notranslate\">'myapp/author_check_delete.html'</code>.</p>\n</dd></dl>\n\n<p><strong>Contoh myapp/views.py</strong>:</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\">from</span> <span class=\"nn\">django.views.generic.edit</span> <span class=\"kn\">import</span> DeleteView\n<span class=\"kn\">from</span> <span class=\"nn\">django.urls</span> <span class=\"kn\">import</span> reverse_lazy\n<span class=\"kn\">from</span> <span class=\"nn\">myapp.models</span> <span class=\"kn\">import</span> Author\n\n<span class=\"k\">class</span> <span class=\"nc\">AuthorDelete</span><span class=\"p\">(</span>DeleteView<span class=\"p\">):</span>\n    model <span class=\"o\">=</span> Author\n    success_url <span class=\"o\">=</span> reverse_lazy<span class=\"p\">(</span><span class=\"s1\">&#39;author-list&#39;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p><strong>Contoh myapp/author_confirm_delete.html</strong>:</p>\n<div class=\"code-block\" data-language=\"html+django\"><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=\"Django template code\"><code><span class=\"p\">&lt;</span><span class=\"nt\">form</span> <span class=\"na\">action</span><span class=\"o\">=</span><span class=\"s\">&quot;&quot;</span> <span class=\"na\">method</span><span class=\"o\">=</span><span class=\"s\">&quot;post&quot;</span><span class=\"p\">&gt;</span><span class=\"cp\">{%</span> <span class=\"k\">csrf_token</span> <span class=\"cp\">%}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">p</span><span class=\"p\">&gt;</span>Are you sure you want to delete &quot;<span class=\"cp\">{{</span> <span class=\"nv\">object</span> <span class=\"cp\">}}</span>&quot;?<span class=\"p\">&lt;/</span><span class=\"nt\">p</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">input</span> <span class=\"na\">type</span><span class=\"o\">=</span><span class=\"s\">&quot;submit&quot;</span> <span class=\"na\">value</span><span class=\"o\">=</span><span class=\"s\">&quot;Confirm&quot;</span> <span class=\"p\">/&gt;</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">form</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n</dd></dl>\n\n</section>","rootId":"generic-editing-views","toc":[{"title":"FormView","anchor":"formview","children":[]},{"title":"CreateView","anchor":"createview","children":[]},{"title":"UpdateView","anchor":"updateview","children":[]},{"title":"DeleteView","anchor":"deleteview","children":[]}],"breadcrumbs":[{"docname":"ref/index","title":"Acuan API","url":"/id/1.10/ref/"},{"docname":"ref/class-based-views/index","title":"API tampilan berdasarkan-kelas siap-pakai","url":"/id/1.10/ref/class-based-views/"}],"prev":{"docname":"ref/class-based-views/generic-display","title":"Tampilan memperlihatkan umum","url":"/id/1.10/ref/class-based-views/generic-display/"},"next":{"docname":"ref/class-based-views/generic-date-based","title":"Generic date views","url":"/id/1.10/ref/class-based-views/generic-date-based/"},"formats":{"html":"/id/1.10/ref/class-based-views/generic-editing/","markdown":"/id/1.10/ref/class-based-views/generic-editing.md","json":"/id/1.10/ref/class-based-views/generic-editing.json"},"source":"https://github.com/django/django/blob/stable/1.10.x/docs/ref/class-based-views/generic-editing.txt","official":"https://docs.djangoproject.com/id/1.10/ref/class-based-views/generic-editing/","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","el","pl"]}