Mixin obyek tunggal¶
SingleObjectMixin¶
- class django.views.generic.detail.SingleObjectMixin¶
Menyediakan sebuah mekanisme untuk mencari sebuah obyek terkait dengan permintaan HTTP saat ini.
Cara dan Atribut
- model¶
Model yang tampilan ini akan menampilkan data. Menentukan
model = Foosecara efektif sama seperti menentukanqueryset = Foo.objects.all(), dimanaobjectsberdiri untuk default managerFoo.
- queryset¶
Sebuah
QuerySetyang mewakili obyek-obyek. Jika disediakan, nilai dariquerysetmenggantikan nilai disediakan untukmodel.Peringatan
querysetadalah sebuah atribut kelas dengan nilai berubah-ubah sehingga perawatan harus diambil ketika menggunakan itu secara langsung. Sebelum menggunakan itu, antara memanggil metodeall()nya atau mengambil itu denganget_queryset()yang merawat dari kloning dibelakang layar.
- slug_field¶
Nama dari bidang pada model yang mengandung tanda siput. Secara awalan,
slug_fieldadalah'slug'.
- slug_url_kwarg¶
Nama dari argumen kata kunci URLConf yang mengandung tanda siput. Secara awalan,
slug_url_kwargadalah'slug'.
- pk_url_kwarg¶
Nama dari argumen kata kunci URLConf yang mengandung primary key. Secara awalan,
pk_url_kwargadalah'pk'.
- context_object_name¶
Menandakan nama dari variabel untuk digunakan di konteks.
- query_pk_and_slug¶
If
True, causesget_object()to perform its lookup using both the primary key and the slug. Defaults toFalse.This attribute can help mitigate insecure direct object reference attacks. When applications allow access to individual objects by a sequential primary key, an attacker could brute-force guess all URLs; thereby obtaining a list of all objects in the application. If users with access to individual objects should be prevented from obtaining this list, setting
query_pk_and_slugtoTruewill help prevent the guessing of URLs as each URL will require two correct, non-sequential arguments. Using a unique slug may serve the same purpose, but this scheme allows you to have non-unique slugs.
- get_object(queryset=None)¶
Mengembalikan obyek tunggal yang tampilan ini akan diperlihatkan. Jika
querysetdisediakan, queryset itu akan digunakan sebagai sumber dari obyek-obyek; jika tidak,get_queryset()akan digunakan.get_object()mencari sebuah argumenpk_url_kwargdi argumen pada tampilan; jika argumen ini ditemukan, metode ini melakukan sebuah pencarian berdasarkan primary-key menggunakan nilai itu. Jika argumen ini tidak ditemukan, itu mencari sebuah argumenslug_url_kwarg, dan melakukan pencarian tanda siput menggunakanslug_field.Ketika
query_pk_and_slugadalahTrue,get_object()akan melakukan pencariannya menggunakan kedua primary key dan tanda siput.
- get_queryset()¶
Mengembalikan queryset yang akan digunakan mengambil obyek yang tampilan ini akan diperlihatkan. Secara awalan,
get_queryset()mengembalikan nilai dari atributquerysetjika itu disetel, jika tidak itu membangun sebuahQuerySetdengan memanggil metodeall()pada pengelola awalan atributmodel.
- get_context_object_name(obj)¶
Mengembalikan nama variabel konteks yang akan digunakan mewadahi daftar data yang tampilan ini dimanipulasi. Jika
context_object_nametidak disetel, nama konteks akan dibangun darimodel_namedari the model yang queryset disusun dari. Sebagai contoh, modelArticleakan mempunyai sebuah obyek konteks bernamaarticle.
- get_context_data(**kwargs)¶
Mengembalikan data konteks untuk menampilkan obyek.
Penerapan dasar dari metode ini membutuhkan bahwa atribut
self.objectdisetel oleh tampilan (bahkan jikaNone). Pastikan melakukan ini jika anda sedang menggunakan mixin ini tanpa satu dari tampilan siap-pakai yang melakukan begitu.Itu mengembalikan sebuah kamus dengan isi ini:
object: Obyek dimana tampilan ini diperlihatkan (self.object).context_object_name:self.objectjuga akan disimpan dibawah nama dikembalikan olehget_context_object_name(), yang awalan ke versi huruf kecil dari nama model.
Variabel konteks menimpa nilai-nilai dari pengolah konteks cetakan
Tiap variabel dari
get_context_data()mengambil hak lebih tinggi terhadap variabel konteks dari context processors. Sebagai contoh, jika tampilan anda menyetel atributmodelpadaUser, awalan nama obyek konteks dariuserakan menimpa variabeluserdari pengolah konteksdjango.contrib.auth.context_processors.auth(). Gunakanget_context_object_name()untuk menghindari tabrakan.
- get_slug_field()¶
Returns the name of a slug field to be used to look up by slug. By default this returns the value of
slug_field.
SingleObjectTemplateResponseMixin¶
- class django.views.generic.detail.SingleObjectTemplateResponseMixin¶
Sebuah kelas mixin yang melakukan pembangunan tanggapan berdasarkan-cetakan untuk tampilan yang beroperasi diatas instance obyek tunggal. Membutuhkan bahwa tampila itu dicampur dengan menyediakan
self.object, instance obyek yang tampilan beroperasi.self.objectakan biasanya, tetapi itu tidak diwajibkan, sebuah instance dari model Django. Itu mungkinNonejika tampilan di pengolahan dari membangun instance baru.Perpanjang
Cara dan Atribut
- template_name_field¶
Bidang pada instance obyek saat ini yang dapat digunakan untuk menentukan nama dari calon cetakan. Jika antara
template_name_fielditu sendiri atau nilai daritemplate_name_fieldpada instance obyek saat ini adalahNone, obyek tidak akan digunakan untuk calon nama cetakan.
- template_name_suffix¶
Akhiran ditambahkan ke calon nama cetakan dibangkitkan-otomatis. Awalan akhiran adalah
_detail.
- get_template_names()¶
Returns a list of candidate template names. Return a list containing
template_name, if set on the value. Otherwise, return a list containing:isi dari bidang
template_name_fieldpada instance obyek yang tampilan sedang beroperasi diatas (jika tersedia)<app_label>/<model_name><template_name_suffix>.html