Tampilan berikut digambarkan pada halaman ini dan menyediakan sebuah dasar untuk menyunting isi:
Lihat juga
messages framework megnandung SuccessMessageMixin, yang memfasilitasi pesan-pesan disajikan mengenai keberhasilan pengajuan formulir.
Catatan
Beberapa dari contoh-contoh pada halaman ini menganggap bahwa sebuah model Author telah ditentukan sebagai berikut di myapp/models.py:
from django.db import models
from django.urls import reverse
class Author(models.Model):
name = models.CharField(max_length=200)
def get_absolute_url(self):
return reverse("author-detail", kwargs={"pk": self.pk})
FormView¶Sebuah tampilan yang memperlihatkan sebuah formulir. Pada kesalahan, memperlihatkan kembali formulir dengan pengesahan kesalahan; pada pengalihan sukses ke URL baru.
Ancestors (MRO)
Tampilan ini mewarisi metode dan atribut dari tampilan berikut:
Contoh myapp/forms.py:
from django import forms
class ContactForm(forms.Form):
name = forms.CharField()
message = forms.CharField(widget=forms.Textarea)
def send_email(self):
# send email using the self.cleaned_data dictionary
pass
Contoh myapp/views.py:
from myapp.forms import ContactForm
from django.views.generic.edit import FormView
class ContactFormView(FormView):
template_name = "contact.html"
form_class = ContactForm
success_url = "/thanks/"
def form_valid(self, form):
# This method is called when valid form data has been POSTed.
# It should return an HttpResponse.
form.send_email()
return super().form_valid(form)
Contoh myapp/contact.html:
<form method="post">{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Send message">
</form>
A base view for displaying a form. It is not intended to be used directly,
but rather as a parent class of the
django.views.generic.edit.FormView or other views displaying a
form.
Ancestors (MRO)
Tampilan ini mewarisi metode dan atribut dari tampilan berikut:
CreateView¶Sebuah tampilan yang menampilkan sebuah formulir untuk membuat sebuah obyek, memperlihatkan kembali formulir dengan pengesahan kesalahan (jika ada) dan menyimpan obyek.
Ancestors (MRO)
Tampilan ini mewarisi metode dan atribut dari tampilan berikut:
Atribut
Halaman CreateView diperlihatkan ke permintaan GET menggunakan template_name_suffix dari '_form'. Sebagai contoh, merubah atribut ini pada '_create_form' untuk sebuah tampilan membuat obyek-obyek untuk contoh model Author akan menyebabkan awalan template_name menjadi 'myapp/author_create_form.html'.
Ketika menggunakan CreateView anda mempunyai akses ke self.object, yaitu obyek sedang dibuat. Jika obyek belum dibuat, nilai akan menjadi None.
Contoh myapp/views.py:
from django.views.generic.edit import CreateView
from myapp.models import Author
class AuthorCreateView(CreateView):
model = Author
fields = ["name"]
Contoh myapp/author_form.html:
<form method="post">{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Save">
</form>
A base view for creating a new object instance. It is not intended to be
used directly, but rather as a parent class of the
django.views.generic.edit.CreateView.
Ancestors (MRO)
Tampilan ini mewarisi metode dan atribut dari tampilan berikut:
Cara
Sets the current object instance (self.object) to None.
Sets the current object instance (self.object) to None.
UpdateView¶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).
Ancestors (MRO)
Tampilan ini mewarisi metode dan atribut dari tampilan berikut:
Atribut
Halaman UpdateView diperlihatkan ke permintaan GET menggunakan template_name_suffix dari '_form'. Sebagai contoh, merubah atribut ini pada '_update_form' untuk sebuah tampilan membuat obyek-obyek untuk contoh model Author akan menyebabkan awalan template_name menjadi 'myapp/author_update_form.html'.
Ketika menggunakan UpdateView anda mempunyai akses ke self.object, yaitu obyek sedang diperbaharui.
Contoh myapp/views.py:
from django.views.generic.edit import UpdateView
from myapp.models import Author
class AuthorUpdateView(UpdateView):
model = Author
fields = ["name"]
template_name_suffix = "_update_form"
Contoh myapp/author_update_form.html:
<form method="post">{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Update">
</form>
A base view for updating an existing object instance. It is not intended to
be used directly, but rather as a parent class of the
django.views.generic.edit.UpdateView.
Ancestors (MRO)
Tampilan ini mewarisi metode dan atribut dari tampilan berikut:
Cara
Sets the current object instance (self.object).
Sets the current object instance (self.object).
DeleteView¶Sebuah tampilan yang memperlihatkan sebuah halaman penegasan dan menghapus obyek yang ada. Obyek yang diberikan akan hanya dihapus jika metode permintaan adalah POST. Jika tampilan ini diambil melalui GET, itu akan memperlihatkan sebuah halaman penegasan yang harus mengandung sebuah formulir yang POST ke URL sama.
Ancestors (MRO)
Tampilan ini mewarisi metode dan atribut dari tampilan berikut:
Atribut
Inherited from BaseDeleteView. The
form class that will be used to confirm the request. By default
django.forms.Form, resulting in an empty form that is always
valid.
By providing your own Form subclass, you can add additional
requirements, such as a confirmation checkbox, for example.
Halaman DeleteView diperlihatkan ke permintaan GET menggunakan template_name_suffix dari '_confirm_delete'. Sebagai contoh, merubah atribut ini pada '_check_delete' untuk sebuah tampilan membuat obyek-obyek untuk contoh model Author akan menyebabkan awalan template_name menjadi 'myapp/author_check_delete.html'.
Contoh myapp/views.py:
from django.urls import reverse_lazy
from django.views.generic.edit import DeleteView
from myapp.models import Author
class AuthorDeleteView(DeleteView):
model = Author
success_url = reverse_lazy("author-list")
Contoh myapp/author_confirm_delete.html:
<form method="post">{% csrf_token %}
<p>Are you sure you want to delete "{{ object }}"?</p>
{{ form }}
<input type="submit" value="Confirm">
</form>
A base view for deleting an object instance. It is not intended to be used
directly, but rather as a parent class of the
django.views.generic.edit.DeleteView.
Ancestors (MRO)
Tampilan ini mewarisi metode dan atribut dari tampilan berikut:
Apr 02, 2025