Banyak obyek mixin

MultipleObjectMixin

class django.views.generic.list.MultipleObjectMixin

Sebuah mixin yang dapat digunakan memperlihatkan daftar dari obyek.

Jika paginate_by ditentukan, Django akan memberikan nomor hasil dikembalikan oleh ini. Anda dapat menentukan nomor halaman di URL di satu atau dua cara:

  • Gunakan parameter page di URLconf. Sebagai contoh, ini adalah apa URLconf anda mungkin terlihat seperti:

    path('objects/page<int:page>/', PaginatedView.as_view()),
    
  • Lewatkan nomor halaman melalui parameter string-permintaan page. Sebagai contoh, sebuah URL akan terlihat seperti ini:

    /objects/?page=3
    

Nilai-nilai ini dan daftar adalah berdasarkan-1, bukan berdasarkan-0, jadi halaman pertama akan diwakili sebagai halaman 1.

Untuk lebih pada pemberian nomor, baca pagination documentation.

Seperti kasus khusus, anda juga diizinkan menggunakan last sebagai sebuah nilai untuk page:

/objects/?page=last

Ini mengizinkan anda mengakses halaman akhir dari hasil tanpa pertama harus menentukan seberapa banyak halaman ada.

Catat bahwa page harus antara nomor halaman sah atau nilai last; nilai lain apapun untuk page akan menghasilkan di kesalahan 404.

Perpanjang

Cara dan Atribut

allow_empty

Sebuah boolean menentukan apakah memperlihatkan halaman jika tidak ada obyek tersedia. Jika ini adalah False dan tidak ada obyek tersedia, tampilan akan memunculkan sebuah 404 daripada memperlihatkan sebuah halaman kosong. Secara awalan, ini adalah True.

model

Model yang tampilan ini akan menampilkan data. Menentukan model = Foo secara efektif sama seperti menentukan queryset = Foo.objects.all(), dimana objects berdiri untuk default manager Foo.

queryset

Sebuah QuerySet yang mewakili obyek-obyek. Jika disediakan, nilai dari queryset menggantikan nilai disediakan untuk model.

Peringatan

queryset adalah sebuah atribut kelas dengan nilai berubah-ubah sehingga perawatan harus diambil ketika menggunakan itu secara langsung. Sebelum menggunakan itu, antara memanggil metode all() nya atau mengambil itu dengan get_queryset() yang merawat dari kloning dibelakang layar.

ordering

Sebuah string atau daftar dari string menentukan urutan untuk memberlakukan ke queryset. Nilai-nilai sah adalah sama seperti itu untuk order_by().

paginate_by

Sebuah integer menentukan seberapa banyak obyek-obyek harus diperlihatkan per halaman. Jika ini diberikan, tampilan akan memberikan nomor obyek-obyek dengan paginate_by obyek-obyek per halaman. Tampilan akan mengharapkan antara sebuah parameter string permintaan page (melalui request.GET) atau sebuah variabel page ditentukan di URLconf.

paginate_orphans

Sebuah integer menentukan nomor dari obyek-obyek "overflow" halaman terakhir dapat diisi. Ini memperpanjang paginate_by batasan pada halaman terakhir sampai pada paginate_orphans, untuk menjaga halaman terakhir dari memiliki sangat kecil nomor dari obyek-obyek.

page_kwarg

Sebuah string menentukan nama digunakan untuk parameter halaman. Tampilan akan mengharapkan parameter ini untuk tersedia antara sebagai sebuah parameter string permintaan (melalui request.GET) atau sebagai sebuah variabel kwarg ditentukan di URLconf. Awalan ke page.

paginator_class

Kelas penomoran digunakan untuk menomorkan halaman. Secara awalan, django.core.paginator.Paginator digunakan. Jika penyesuaian kelas penomoran tidak mempunyai antarmuka pembangun sama seperti django.core.paginator.Paginator, anda akan juga butuh menyediakan sebuah penerapan untuk get_paginator().

context_object_name

Menandakan nama dari variabel untuk digunakan di konteks.

get_queryset()

Dapatkan daftar dari barang-barang untuk tampilan ini. Ini harus berupa sebuah perulangan dan mungkin sebuah queryset (dimana perilaku queryset-tertentu akan diadakan).

get_ordering()

Mengembalikan sebuah string (atau perulangan dari string) yang menentukan urutan yang akan diberlakukan ke queryset.

Mengembalikan ordering secara awalan.

paginate_queryset(queryset, page_size)

Mengembalikan 4-tuple mengandung (paginator, page, object_list, is_paginated).

DIbangun dengan menomori queryset kedalam halaman dari ukuran page_size. Jika permintaan mengandung sebuah argumen page, antara sebagau URL tertangkap atau sebagai argumen GET, object_list akan berhubungan ke obyek-obyek dari halaman itu.

get_paginate_by(queryset)

Mengembalikan sejumlah barang-barang untuk menomorkan, atau None untuk tidak penomoran. Secara awalan ini cukup mengembalikan nilai dari paginate_by.

get_paginator(queryset, per_page, orphans=0, allow_empty_first_page=True)

Mengembalikan sebuah instance dari penomor digunakan untuk tampilan ini. Secara awalan, instasiasi sebuah instance dari paginator_class.

get_paginate_orphans()

Sebuah integer menentukan sejumlah obyek-obyek "overflow" halaman terakhir dapat diisi. Secara awalan ini cukup mengembalikan nilai dari paginate_orphans.

get_allow_empty()

Mengembalikan sebuah boolean menentukan apakah memperlihatkan halaman jika tidak ada obyek tersedia. Jika metode ini mengembalikan False dan tidak ada obyek tersedia, tampilan akan memunculkan sebuah 404 daripada memperlihatkan sebuah halaman kosong. Secara awalan, ini adalah True.

get_context_object_name(object_list)

Mengembalikan nama variabel konteks yang akan digunakan mewadahi daftar data yang tampilan ini dimanipulasi. Jika object_list adalah sebuah queryset dari obyek-obyek Django dan context_object_name tidak disetel, nama konteks akan menjadi model_name dari the model yang queryset disusun dari, dengan postfix '_list' ditambahkan. Sebagai contoh, model Article akan mempunyai sebuah obyek konteks bernama article_list.

get_context_data(**kwargs)

Mengembalikan data konteks untuk memperlihatkan daftar dari obyek.

Konteks

  • object_list: Daftar dari obyek-obyek yang tampilan ini diperlihatkan. Jika context_object_name ditentukan, variabel itu akan juga disetel di konteks, dengan nilai sama seperti object_list.
  • is_paginated: Sebuah boolean mewakili apakah hasil dinomorkan. Khususnya, ini disetel menjadi False jika tidak ada ukuran halaman telah ditentukan, atau jika obyek-obyek tersedia tidak menjangkau banyak halaman.
  • paginator: Sebuah instance dari django.core.paginator.Paginator. Jika halaman tidak dinomorkan, variabel konteks ini akan menjadi None.
  • page_obj: Sebuah instance dari django.core.paginator.Page. Jika halaman tidak dinomorkan, variabel konteks ini akan menjadi None.

MultipleObjectTemplateResponseMixin

class django.views.generic.list.MultipleObjectTemplateResponseMixin

Sebuah kelas mixin yang melakukan membangun tanggapan berdasarkan-cetakan untuk tampilan yang beroperasi diatas daftar dari instance obyek. Diwajibkan bahwa tampilan itu campurkan dengan self.object_list tersedia, daftar dari instance obyek yang tampilan beroperasi. self.object_list mungkin, tetapi tidak diwajibkan menjadi, sebuah QuerySet.

Perpanjang

Cara dan Atribut

template_name_suffix

Akhiran ditambahkan ke calon nama cetakan dibangkitkan-otomatis. Awalan akhiran adalah _list.

get_template_names()

Mengembalikan daftar dari calon nama-nama cetakan. Mengembalikan daftar berikut:

  • nilai dari template_name pada tampilan (jika disediakan)
  • <app_label>/<model_name><template_name_suffix>.html