API tampilan berdasarkan-kelas siap-pakai¶
Acuan API tampilan berdasarkan-kelas. Untuk bahan perkenalan, lihat panduan topik Tampilan berdasarkan-kelas.
- Tampilan dasar
- Tampilan memperlihatkan umum
- Tampilan penyuntingan umum
- Generic date views
- Mixin tampilan berdasarkan-kelas
- Tampilan umum berdasarkan-kelas - meratakan indeks
Spesifikasi¶
Setiap permintaan dilayani oleh tampilan berbasis-kelas mempunyai keadaan berdiri sendiri; karena itu, itu aman menyimpan variabel keadaan pada contoh (yaitu, self.foo = 3 adalah pekerjaan benang-aman).
A class-based view is deployed into a URL pattern using the
as_view() classmethod:
urlpatterns = [
path("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.
Arguments passed into as_view() will
be assigned onto the instance that is used to service a request. Using the
previous example, this means that every request on MyView is able to use
self.size. Arguments must correspond to attributes that already exist on
the class (return True on a hasattr check).
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 dibangun dari tampilan dasar tersebut, dan dikembangkan sebagai sebuah jalan pintas untuk pola penggunaan umum seperti menampilkan rincian dari sebuah obyek. Mereka mengambil beberapa persamaan umum dan pola ditemukan dalam pengembangan tampilan dan meringkaskan mereka sehingga anda dapat dengan cepat menulis tampilan umum dari data tanpa harus mengulangi anda sendiri.
Kebanyakan tampilan umum membutuhkan kunci queryset, yang adalah contoh QuerySet; lihat Membuat query untuk informasi lebih tentang obyek QuerySet.