---
title: "API tampilan berdasarkan-kelas siap-pakai"
version: 1.10
locale: id
source: https://docs.djangoproject.com/id/1.10/ref/class-based-views/
canonical: https://djangodocs.dev/id/1.10/ref/class-based-views/
---
# API tampilan berdasarkan-kelas siap-pakai

Acuan API tampilan berdasarkan-kelas. Untuk bahan perkenalan, lihat panduan topik  [Tampilan berdasarkan-kelas](/id/1.10/topics/class-based-views/).

- [Tampilan dasar](/id/1.10/ref/class-based-views/base/)

  - [`View`](/id/1.10/ref/class-based-views/base/#view)
  - [`TemplateView`](/id/1.10/ref/class-based-views/base/#templateview)
  - [`RedirectView`](/id/1.10/ref/class-based-views/base/#redirectview)
- [Tampilan memperlihatkan umum](/id/1.10/ref/class-based-views/generic-display/)

  - [`DetailView`](/id/1.10/ref/class-based-views/generic-display/#detailview)
  - [`ListView`](/id/1.10/ref/class-based-views/generic-display/#listview)
- [Tampilan penyuntingan umum](/id/1.10/ref/class-based-views/generic-editing/)

  - [`FormView`](/id/1.10/ref/class-based-views/generic-editing/#formview)
  - [`CreateView`](/id/1.10/ref/class-based-views/generic-editing/#createview)
  - [`UpdateView`](/id/1.10/ref/class-based-views/generic-editing/#updateview)
  - [`DeleteView`](/id/1.10/ref/class-based-views/generic-editing/#deleteview)
- [Generic date views](/id/1.10/ref/class-based-views/generic-date-based/)

  - [`ArchiveIndexView`](/id/1.10/ref/class-based-views/generic-date-based/#archiveindexview)
  - [`YearArchiveView`](/id/1.10/ref/class-based-views/generic-date-based/#yeararchiveview)
  - [`MonthArchiveView`](/id/1.10/ref/class-based-views/generic-date-based/#montharchiveview)
  - [`WeekArchiveView`](/id/1.10/ref/class-based-views/generic-date-based/#weekarchiveview)
  - [`DayArchiveView`](/id/1.10/ref/class-based-views/generic-date-based/#dayarchiveview)
  - [`TodayArchiveView`](/id/1.10/ref/class-based-views/generic-date-based/#todayarchiveview)
  - [`DateDetailView`](/id/1.10/ref/class-based-views/generic-date-based/#datedetailview)
- [Mixin tampilan berdasarkan-kelas](/id/1.10/ref/class-based-views/mixins/)

  - [Mixin sederhana](/id/1.10/ref/class-based-views/mixins-simple/)

    - [`ContextMixin`](/id/1.10/ref/class-based-views/mixins-simple/#contextmixin)
    - [`TemplateResponseMixin`](/id/1.10/ref/class-based-views/mixins-simple/#templateresponsemixin)
  - [Mixin obyek tunggal](/id/1.10/ref/class-based-views/mixins-single-object/)

    - [`SingleObjectMixin`](/id/1.10/ref/class-based-views/mixins-single-object/#singleobjectmixin)
    - [`SingleObjectTemplateResponseMixin`](/id/1.10/ref/class-based-views/mixins-single-object/#singleobjecttemplateresponsemixin)
  - [Banyak obyek mixin](/id/1.10/ref/class-based-views/mixins-multiple-object/)

    - [`MultipleObjectMixin`](/id/1.10/ref/class-based-views/mixins-multiple-object/#multipleobjectmixin)
    - [`MultipleObjectTemplateResponseMixin`](/id/1.10/ref/class-based-views/mixins-multiple-object/#multipleobjecttemplateresponsemixin)
  - [Menyunting mixin](/id/1.10/ref/class-based-views/mixins-editing/)

    - [`FormMixin`](/id/1.10/ref/class-based-views/mixins-editing/#formmixin)
    - [`ModelFormMixin`](/id/1.10/ref/class-based-views/mixins-editing/#modelformmixin)
    - [`ProcessFormView`](/id/1.10/ref/class-based-views/mixins-editing/#processformview)
    - [`DeletionMixin`](/id/1.10/ref/class-based-views/mixins-editing/#deletionmixin)
  - [Mixin berdasarkan-tanggal](/id/1.10/ref/class-based-views/mixins-date-based/)

    - [`YearMixin`](/id/1.10/ref/class-based-views/mixins-date-based/#yearmixin)
    - [`MonthMixin`](/id/1.10/ref/class-based-views/mixins-date-based/#monthmixin)
    - [`DayMixin`](/id/1.10/ref/class-based-views/mixins-date-based/#daymixin)
    - [`WeekMixin`](/id/1.10/ref/class-based-views/mixins-date-based/#weekmixin)
    - [`DateMixin`](/id/1.10/ref/class-based-views/mixins-date-based/#datemixin)
    - [`BaseDateListView`](/id/1.10/ref/class-based-views/mixins-date-based/#basedatelistview)
- [Tampilan umum berdasarkan-kelas - meratakan indeks](/id/1.10/ref/class-based-views/flattened-index/)

  - [Tampilan umum sederhana](/id/1.10/ref/class-based-views/flattened-index/#simple-generic-views)

    - [`View`](/id/1.10/ref/class-based-views/flattened-index/#view)
    - [`TemplateView`](/id/1.10/ref/class-based-views/flattened-index/#templateview)
    - [`RedirectView`](/id/1.10/ref/class-based-views/flattened-index/#redirectview)
  - [Rincian Tampilan](/id/1.10/ref/class-based-views/flattened-index/#detail-views)

    - [`DetailView`](/id/1.10/ref/class-based-views/flattened-index/#detailview)
  - [Tampilan Daftar](/id/1.10/ref/class-based-views/flattened-index/#list-views)

    - [`ListView`](/id/1.10/ref/class-based-views/flattened-index/#listview)
  - [Menyunting tampilan](/id/1.10/ref/class-based-views/flattened-index/#editing-views)

    - [`FormView`](/id/1.10/ref/class-based-views/flattened-index/#formview)
    - [`CreateView`](/id/1.10/ref/class-based-views/flattened-index/#createview)
    - [`UpdateView`](/id/1.10/ref/class-based-views/flattened-index/#updateview)
    - [`DeleteView`](/id/1.10/ref/class-based-views/flattened-index/#deleteview)
  - [Tampilan bedasarkan-tanggal](/id/1.10/ref/class-based-views/flattened-index/#date-based-views)

    - [`ArchiveIndexView`](/id/1.10/ref/class-based-views/flattened-index/#archiveindexview)
    - [`YearArchiveView`](/id/1.10/ref/class-based-views/flattened-index/#yeararchiveview)
    - [`MonthArchiveView`](/id/1.10/ref/class-based-views/flattened-index/#montharchiveview)
    - [`WeekArchiveView`](/id/1.10/ref/class-based-views/flattened-index/#weekarchiveview)
    - [`DayArchiveView`](/id/1.10/ref/class-based-views/flattened-index/#dayarchiveview)
    - [`TodayArchiveView`](/id/1.10/ref/class-based-views/flattened-index/#todayarchiveview)
    - [`DateDetailView`](/id/1.10/ref/class-based-views/flattened-index/#datedetailview)

## Spesifikasi

Setiap permintaan dilayani oleh tampilan berbasis-kelas mempunyai keadaan berdiri sendiri; karena itu, itu aman menyimpan variabel keadaan pada instance (yaitu, `self.foo = 3` adalah  pekerjaan benang-aman).

Sebuah tampilan berdasarkan-kelas disebarkan kedalam corak URL menggunakan metodekelas [`as_view()`](/id/1.10/ref/class-based-views/base/#django.views.generic.base.View.as_view):

```
urlpatterns = [
    url(r'^view/$', MyView.as_view(size=42)),
]
```

> **Thread keamanan dengan argumen tampilan**
>
> Argumen-argumen dilewatkan ke tampilan adalah dibagi diantara setiap instance dari tampilan. Ini berarti bahwa anda jangan menggunakan daftar, kamus, atau obyek berubah-ubah lain apapun sebagai sebuah argumen pada tampilan. Jika anda melakukan dan berbagi obyek dirubah, tindakan dari satu pengguna mengunjungi tampilan anda dapat mempunyai sebuah pengaruh pada pengguna berikut mengunjungi tampilan sama.

Argumen dilewatkan kedalam [`as_view()`](/id/1.10/ref/class-based-views/base/#django.views.generic.base.View.as_view) akan diberikan ke atas instance yang digunakan untuk melayani sebuah permintaan. Menggunakan contoh sebelumnya, ini berarti bahwa setiap permintaan pada `MyView` dapat menggunakan `self.size`. Argumen-argumen harus berhubungan ke atribut-atribut yang sudah ada pada kelas (mengembalikan `True` pada pemeriksaan `hasattr`).

## Tampilan Dasar vs Umum

Dasar tampilan berdasarkan-kelas dapat dianggap sebagai tampilan *parent*, yang dapat digunakan oleh mereka sendiri atau diwariskan dari. Mereka mungkin tidak menyediakan semua kemampuan diwajibkan untuk proyek, dalam hal ini ada Mixin yang memperpanjang tampilan dasar apa dapat lakukan.

Tampilan umum Django adalah untuk mengembangkan dari tampilan dasar tersebut, dan kami kembangkan sebagai sebuah jalan pintas untuk corak penggunaan umum seperti memperlihatkan rincian dari sebuah obyek. Mereka mengambil dialek dan corak umum tertentu ditemukan di tampilan pengembangan dan abstrak mereka sehingga anda dapat dengan cepat menulis tampilan umum dari data tanpa harus mengulangi anda sendiri.

Kebanyakan tampilan umum membutuhkan kunci `queryset`, yang adalah instance `QuerySet`; lihat [Membuat query](/id/1.10/topics/db/queries/) untuk informasi lebih tentang obyek `QuerySet`.
