---
title: "Meascáin réad aonair"
version: 5.2
locale: ga
source: https://docs.djangoproject.com/ga/5.2/ref/class-based-views/mixins-single-object/
canonical: https://djangodocs.dev/ga/5.2/ref/class-based-views/mixins-single-object/
---
# Meascáin réad aonair

## `SingleObjectMixin`

#### `class django.views.generic.detail.SingleObjectMixin`

Soláthraíonn sé meicníocht chun réad a bhaineann leis an iarratas reatha HTTP a chuardach.

Modhanna agus Gnéithe \*\*

#### `model`

An tsamhail a thaispeánfaidh an dearcadh seo sonraí dó. \<default-managers\>Tá model = Foo' a shonrú go héifeachtach mar an gcéanna le \`\`queryset = foo.objects.all () \`\`a shonrú, áit a sheasann\` objects\`\` do foo': ref: bainisteoir réamhshocraithe .

#### `queryset`

`QuerySet` a léiríonn na rudaí. Má chuirtear ar fáil, cuireann luach fiosrúchán in ionad an luach a sholáthraítear le haghaidh: attr: samhail.

> **Warning**
>
> Is tréith aicme é `queryset` le luach\*athraithe\* agus mar sin caithfear cúram a thabhairt nuair a úsáidtear é go díreach. Sula n-úsáidtear é, glaoigh aith:meth: ~django.db.models.query.queryset.all modh nó faigh é le: meth: get\_queryset a thugann aire don chlónáil taobh thiar de na radhairc.

#### `slug_field`

Ainm an réimse ar an tsamhail ina bhfuil an slug. De réir réamhshocraithe, is é `slug_field` `` `slug' ``.

#### `slug_url_kwarg`

Ainm an argóint eochairfhocal URLConf ina bhfuil an slug. De réir réamhshocraithe, is é `slug_url_kwarg` `` `slug' ``.

#### `pk_url_kwarg`

Ainm an argóint eochairfhocal URLConf ina bhfuil an príomh-eochair. De réir réamhshocraithe, is é `pk_url_kwarg` `` `pk' ``.

#### `context_object_name`

Ainmníonn sé ainm an athróg le húsáid sa chomhthéacs.

#### `query_pk_and_slug`

Má tá `True`, is cúis le: meth: get\_object () \`a chuardach a dhéanamh ag baint úsáide as an bpríomh-eochair agus an slug araon. Réamhshocraithe go \`\`False\`.

Is féidir leis an tréith seo cabhrú le hionsaithe [tagairt réad díreach neamhchinnti](https://wiki.owasp.org/index.php/Top_10_2013-A4-Insecure_Direct_Object_References) a mhaolú. Nuair a cheadaíonn feidhmchláir rochtain ar rudaí aonair trí phríomh-eochair seicheamhach, d'fhéadfadh ionsaitheoir gach URL a thuairim a dhéanamh; ar an gcaoi sin liosta de na rudaí go léir san fheidhmchlár a fháil. Má cheart cosc a chur ar úsáideoirí a bhfuil rochtain acu ar rudaí aonair an liosta seo a fháil, cuideoidh socrú `query_pk_and_slug` go True\` le tuairim URLanna a chosc mar beidh dhá argóint cheart neamh-seicheamhach ag teastáil ó gach URL. D'fhéadfadh go mbeadh an cuspóir céanna ag baint úsáide as slug uathúil, ach tugann an scéim seo deis duit slugs neamh-uathúla a bheith agat.

#### `get_object(queryset=None)`

Filleann sé an réad aonair a thaispeánfaidh an radharc seo. Má chuirtear `queryset` ar fáil, úsáidfear an tacar ceisteanna sin mar fhoinse na rudaí; ar shlí eile, úsáidfear :meth: get\_queryset. Féachann get\_object () argóint a: attr: pk\_url\_kwarg sna hargóintí leis an dearcadh; má aimsítear an argóint seo, déanann an modh seo cuardach bunaithe ar eochair bhunaithe ag baint úsáide as an luach sin. Mura bhfaightear an argóint seo, féachann sé argóint a:attr: slug\_url\_kwarg, agus déanann sé cuardach slug ag baint úsáide as an: attr: slug\_field.

Nuair: attr: query\_pk\_and\_slug `True`, déanfaidh get\_object () a chuardach ag baint úsáide as an eochair phríomhúil agus an slug araon.

#### `get_queryset()`

Filleann sé an tacar fiosrúcháin a úsáidfear chun an réad a thaispeánfaidh an dearcadh seo a aisghabháil. De réir réamhshocraithe, filleann :meth: get\_queryset luach an tréithe: attr: queryset má tá sé socraithe, ar shlí eile tógann sé a:class: ~django.db.models.query.queryset trí ghlaoch ar an modh all () ar bhainisteoir réamhshocraithe tréith: model.

#### `get_context_object_name(obj)`

Tabhair ar ais ainm athróg an chomhthéacs a úsáidfear chun na sonraí atá á ionramháil ag an dearcadh seo a áireamh. Má tá: attr: context\_object\_name socraithe, déanfar an t-ainm comhthéacs a thógáil ó `model_name` den tsamhail a bhfuil an tacar ceisteanna comhdhéanta as. Mar shampla, bheadh réad comhthéacs darb ainm `` `Airteag `` sa tsamhail `Airteagal`.

#### `get_context_data(**kwargs)`

Filleann sonraí comhthéacs chun an réad a thaispeáint

Éilíonn cur i bhfeidhm bonn an mhodha seo go socraítear an tréith `self.object` ag an radharc (fiú mura bhfuil `None`). Bí cinnte é seo a dhéanamh má tá an meascán seo á úsáid agat gan ceann de na tuairimí ionsuite a dhéanann amhlaidh.

Tugann sé foclóir ar ais leis na hábhair seo:

- `object`: An réad atá ag taispeáint an dearcadh seo (`self.object`).
- Stórálfar `context_object_name`: `self.object` faoin ainm ar ais ag: meth: get\_context\_object\_name, a réamhshocraíonn an leagan íseal den ainm samhail.

> **Déanann athróga comhthéacs athrú luachanna ó phróiseálaithe**
>
> \<subclassing-context-requestcontext\>Tá tosaíocht ag aon athróga ó:meth: get\_context\_data thar athróga comhthéacs ó:ref: próiseálaithe comhthéacs \`. Mar shampla, má shocraíonn d'amharc an tréith: attr: \`model to:class: ~django.contrib.auth.models.user, cuirfeadh ainm réad réamhshocraithe comhthéacs `user` athróg `user` ón bpróiseálaí comhthéacs: func: django.contrib.auth.context\_processors.auth. Úsáid:Meth: get\_context\_object\_name chun coimhlint a sheachaint.

#### `get_slug_field()`

Tugann ainm réimse slug ar ais le húsáid chun breathnú suas le slug. De réir réamhshocraithe filleann sé luach: attr: slug\_field.

## `SingleObjectTemplateResponseMixin`

#### `class django.views.generic.detail.SingleObjectTemplateResponseMixin`

Aicme meascáin a dhéanann rindreáil freagartha bunaithe ar theimpléad do thuairimí a oibríonn ar shampla réad amháin. Éilíonn sé go soláthraíonn an dearcadh a bhfuil sé measctha leis ```self.object ``, an sampla réada a bhfuil an radharc ag feidhmiú air. Is gnách go mbeidh `self.object ``mar shampla Django, ach ní cheanglaítear é a bheith ann. D'fhéadfadh sé a bheith ``None``` má tá an dearcadh i bpróiseas chun cás nua a thógáil.

**Síneadaí**

- [`TemplateResponseMixin`](/ga/5.2/ref/class-based-views/mixins-simple/#django.views.generic.base.TemplateResponseMixin)

Modhanna agus Gnéithe \*\*

#### `template_name_field`

An réimse ar an gcás réad reatha is féidir a úsáid chun ainm teimpléad iarrthóra a chinneadh. Más é `template_name_field` féin nó luach an `template_name_field` ar an gcás réad reatha `None`, ní úsáidfear an réad le haghaidh ainm teimpléad iarrthóra.

#### `template_name_suffix`

An iarmhír le cur leis an ainm teimpléid iarrthóra a ghintear go huathoibríoch. Is é `_detail` iarmhír réamhshocraithe.

#### `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:

- ábhar an réimse `template_name_field` ar an gcás réad a bhfuil an radharc ag feidhmiú air (má tá sé ar fáil)
- \<model\_name\>\<template\_name\_suffix\>\`\`\<app\_label\>/.html\`\`
