# dokumentasi Django 2.0.8

# Menyunting mixin

Mixin berikut digunakan untuk membangun tampilan penyuntingan Django:

- `django.views.generic.edit.FormMixin`
- `django.views.generic.edit.ModelFormMixin`
- `django.views.generic.edit.ProcessFormView`
- `django.views.generic.edit.DeletionMixin`

Catatan

Contoh-contoh dari bagaimana ini dipadukan kedalam tampilan menyunting dapat ditemukan pada dokumentasi di Tampilan penyuntingan umum.

## `FormMixin`

class `django.views.generic.edit.``FormMixin`

  Sebuah kelas mixin yang menyediakan fasilitas-fasilitas untuk membuat dan memperlihatkan formulir

  Mixins

  - `django.views.generic.base.ContextMixin`

  Cara dan Atribut

  `initial`

    Sebuah kamus mengandung data inisial untuk formulir.

  `form_class`

    Kelas formulir untuk instasiasi

  `success_url`

    URL untuk pengalihan ketika formulir berhasil diolah.

  `prefix`

    `prefix` untuk membangkitkan formulir.

  `get_initial`()

    Mengambil data inisial untuk formulir. Secara awalan, mengembalikan salinan dari `initial`.

  `get_form_class`()

    Mengambil kelas formulir untuk instasiasi. Secara awalan `form_class`.

  `get_form`(form_class=None)

    Instansiasi sebuah instance dari `form_class` menggunakan `get_form_kwargs()`. Jika ``form_class``tidak disediakan `get_form_class()` akan digunakan.

  `get_form_kwargs`()

    Membangun argumen kata kunci diwajibkan untuk instasiasi formulir.

    Argumen `initial` disetel menjadi `get_initial()`. Jika permintaan adalah `POST` atau `PUT`, data permintaan (`request.POST` dan `request.FILES`) akan juga disediakan.

  `get_prefix`()

    Menentukan `prefix` untuk formulir dibangkitkan. Mengembalikan `prefix` secara awalan.

  `get_success_url`()

    Menentukan URL untuk pengalihkan ketika formulir adalah berhasil disahkan. Mengembalikan `success_url` secara awalan.

  `form_valid`(form)

    Dialihkan ke `get_success_url()`.

  `form_invalid`(form)

    Membangun sebuah tanggapan, menyediakan formulir tidak sah sebagai konteks.

  `get_context_data`(**kwargs)

    Memanggil `get_form()` dan menambahkan hasil ke data konteks dengan nama 'form'.

## `ModelFormMixin`

class `django.views.generic.edit.``ModelFormMixin`

  Sebuah mixin formulir yang bekerja pada `ModelForms`, daripada formulir berdiri sendiri.

  Sejak ini adalah subkelas dari `SingleObjectMixin`, instance dari mixin ini mempunyai akses ke atribut `model` dan `queryset`, menggambarkan jenis dari obyek yang `ModelForm` dimanipulasi.

  Jika anda menentukan kedua atribut `fields` dan `form_class`, sebuah pengecualian `ImproperlyConfigured` akan dimunculkan.

  Mixins

  - `django.views.generic.edit.FormMixin`
  - `django.views.generic.detail.SingleObjectMixin`

  Cara dan Atribut

  `model`

    Sebuah kelas model. Dapat secara jelas disediakan, jika tidak akan ditentukan dengan menguji `self.object` atau `queryset`.

  `fields`

    Sebuah daftar nama-nama dari bidang-bidang. Ini ditafsirkan cara yang sama seperti atribut `Meta.fields` dari `ModelForm`.

    Ini adalah atribut wajib jika anda sedang membangkitkan kelas formulir secara otomatis (sebagai contoh menggunakan `model`). Menghilangkan atribut ini akan menghasilkan dalam sebuah pengecualian `ImproperlyConfigured`.

  `success_url`

    URL untuk pengalihan ketika formulir berhasil diolah.

    `success_url` mungkin mengandung pembentukan string kamus, yang akan disisipkan terhadap atribut bidang obyek. Sebagai contoh, anda dapat menggunakan `success_url="/polls/{slug}/"` untuk mengalihkan ke sebuah URL disusun dari bidang `slug` pada sebuah model.

  `get_form_class`()

    Mengambil dari kelas formulir untuk menginstasiasi. Jika `form_class` disediakan, kelas itu akan digunakan. Jika tidak, sebuah `ModelForm` akan diinstasiasikan menggunakan model terhubung dengan `queryset`, atau dengan `model`, tergantung pada atribut mana yang disediakan.

  `get_form_kwargs`()

    Tambah instance saat ini (`self.object`) ke `get_form_kwargs()` standar.

  `get_success_url`()

    Menentukan URL untuk pengalihkan ketika formulir adalah berhasil disahkan. Mengembalikan `success_url` jika itu disediakan; jika tidak berusaha menggunakan `get_absolute_url()` dari obyek.

  `form_valid`(form)

    Simpan formulir instance, setel onyek saat ini untuk tampilan, dan alihkan ke `get_success_url()`.

  `form_invalid`()

    Membangun sebuah tanggapan, menyediakan formulir tidak sah sebagai konteks.

## `ProcessFormView`

class `django.views.generic.edit.``ProcessFormView`

  Sebuah mixin yang menyediakan alir kerja HTTP GET dan POST dasar.

  Catatan

  Ini adalah bernama 'ProcessFormView' dan mewarisi langsung dari `django.views.generic.base.View`, tetapi memotong jika digunakan secara berdiri sendiri, jadi itu lebih dari sebuah mixin.

  Perpanjang

  - `django.views.generic.base.View`

  Cara dan Atribut

  `get`(request, *args, **kwargs)

    Membangun sebuah tanggapan menggunakan konteks dibuat dengan `get_context_data()`.

  `post`(request, *args, **kwargs)

    Pembangunan sebuah formulir, periksa formulir untuk keabsahan, dan menangani itu sesuai dengan itu.

  `put`(*args, **kwargs)

    Tindakan``PUT`` juga menangani dan hanya melewatkan semua parameter melalui `post()`.

## `DeletionMixin`

class `django.views.generic.edit.``DeletionMixin`

  Mengadakan menangani dari tindakan http `DELETE`.

  Cara dan Atribut

  `success_url`

    URL untuk pengalihan ketika obyek ditunjuk telah berhasil dihapus.

    `success_url` mungkin mengandung pembentukan string kamus, yang akan disisipkan terhadap atribut bidang obyek. Sebagai contoh, anda dapat menggunakan `success_url="/parent/{parent_id}/"` untuk mengalihkan ke sebuah URL disusun dari bidang `parent_id` pada sebuah model.

  `get_success_url`()

    Menentukan url untuk pengalihkan ketikaketika obyek yang dicalonkan berhasil dihapus. Mengembalikan `success_url` secara awalan.