---
title: "TemplateResponse agus SimpleTemplateResponse"
version: 6.1
locale: ga
source: https://docs.djangoproject.com/ga/6.1/ref/template-response/
canonical: https://djangodocs.dev/ga/6.1/ref/template-response/
---
# `TemplateResponse` agus `SimpleTemplateResponse`

Caighdeán:aicme: Is struchtúir statacha iad rudaí ~django.http.HttpResponse. Cuirtear bloc d'ábhar réamh-rindreáilte ar fáil dóibh tráth na tógála, agus cé gur féidir an t-ábhar sin a mhodhnú, níl sé i bhfoirm a fhágann go bhfuil sé éasca modhnuithe a dhéanamh.

Mar sin féin, is féidir go mbeadh sé tairbheach uaireanta ligean do mhaisitheoirí nó meán-earraí freagra a mhodhnó\* tar éis dó\* é a thógáil ag an dearcadh. Mar shampla, b'fhéidir gur mhaith leat an teimpléad a úsáidtear a athrú, nó sonraí breise a chur sa chomhthéacs.

Soláthraíonn TemplateResponse bealach chun é sin a dhéanamh. Murab ionann agus rudaí bunús:class: ~django.http.httpResponse, coinníonn rudaí TemplateResponse sonraí an teimpléid agus an chomhthéacs a chuir an dearcadh ar fáil chun an freagra a ríomh. Ní ríomhtar aschur deiridh an fhreagra go dtí go mbeidh sé ag teastáil, níos déanaí sa phróiseas freagartha.

## `rudaí SimpleTemplateResponse`

#### `class SimpleTemplateResponse`

### tréithe

#### `SimpleTemplateResponse.template_name`

The name of the template to be rendered. Accepts a backend-dependent
template object (such as those returned by
[`get_template()`](/ga/6.1/topics/templates/#django.template.loader.get_template)), the name of a template,
or a list of template names.

Sampla: `['foo.html', 'path/to/bar.html']`

#### `SimpleTemplateResponse.context_data`

Na sonraí comhthéacs atá le húsáid agus an teimpléad á rindreáil. Caithfidh sé a: aicme: dict.

Sampla: `{'foo': 123}`

#### `SimpleTemplateResponse.rendered_content`

Luach reatha a rinneadh an ábhair freagartha, ag baint úsáide as an teimpléad reatha agus na sonraí comhthéacs.

#### `SimpleTemplateResponse.is_rendered`

Boolean a léiríonn an bhfuil an t-ábhar freagartha a rinneadh.

### Modhanna

#### `SimpleTemplateResponse.__init__(template, context=None, content_type=None, status=None, charset=None, using=None, headers=None)`

Cuireann sé réad a:class: ~Django.Template.Response.SimpleTemplateResponse leis an teimpléad, an comhthéacs, an cineál ábhair, stádas HTTP, agus tacar charta ar leith.

**`Teimpléad`**

  A backend-dependent template object (such as those returned by
  [`get_template()`](/ga/6.1/topics/templates/#django.template.loader.get_template)), the name of a template,
  or a list of template names.

**`comhthéacs`**

  A: aicme: ordach luachanna le cur le comhthéacs an teimpléid. De réir réamhshocraithe, is foclóir folamh é seo.

**cineál\_ábhar \`\`**

  An luach atá san áireamh sa cheanntásc HTTP `Content-Type`, lena n-áirítear an tsonraíocht cineál MIME agus an ionchódú tacar carachtair. Má shonraítear `content_type`, ansin úsáidtear a luach. Seachas sin, úsáidtear `'text/html'`.

**`stádas`**

  An cód stádais HTTP don fhreagra.

**`charset`**

  An charset ina ndéanfar an freagra a ionchódú. Mura dtugtar é bainfear as content\_type\`, agus mura n-éiríonn leis sin, úsáidfear an socrú: setting: DEFAULT\_CHARSET.

**`` `Úsáid ``**

  An: Socrú: AINM \<TEMPLATES-NAME\>\`inneall teimpléad le húsáid chun an teimpléad a luchtú.

**`ceannair`**

  A: aicme: ordach ceanntásca HTTP le cur leis an bhfreagra.

#### `SimpleTemplateResponse.resolve_context(context)`

Réamhphróiseálann sonraí comhthéacs a úsáidfear chun teimpléad a rindreáil. Glacann sé: aicme: ordach sonraí comhthéacs. De réir réamhshocraithe, filleann sé an chéanna: class: dict.

Athraigh an modh seo d'fhonn an comhthéacs a shaincheapadh.

#### `SimpleTemplateResponse.resolve_template(template)`

Resolves the template instance to use for rendering. Accepts a
backend-dependent template object (such as those returned by
[`get_template()`](/ga/6.1/topics/templates/#django.template.loader.get_template)), the name of a template,
or a list of template names.

Filleann sé an tsampla réad teimpléad atá ag brath ar chúlra atá le léiriú

Athraigh an modh seo d'fhonn luchtú teimpléad a shaincheapadh.

#### `SimpleTemplateResponse.add_post_render_callback()`

Cuir glaoch ar ais a ghairmfear tar éis an rindreáil a dhéanamh. Is féidir an crúca seo a úsáid chun oibríochtaí próiseála áirithe (mar shampla caching) a chur siar go dtí go mbeidh rindreáil tarlú.

Má rinneadh an:class: ~django.template.Response.SimpleTemplateResponse cheana féin, cuirfear an glaoch ar ais láithreach.

Nuair a thugtar air, cuirfear argóint amháin ar ais - an t-áis rendered:class: ~django.template.response.simpleTemplateResponse.

Má thugann an glaoch ar ais luach nach `None`, úsáidfear é seo mar fhreagra in ionad an réad freagartha bunaidh (agus cuirfear ar aghaidh chuig an gcéad phost eile ag déanamh glaonna aisghlaonna srl.)

#### `SimpleTemplateResponse.render()`

Socraíonn sé `response.content` don toradh a fhaightear ar:attr: SimpleTemplateResponse.rendered\_content, ritheann sé gach glaonna iar-rindreála, agus filleann sé an réad freagartha mar thoradh air.

Ní bheidh éifeacht ag render () ach an chéad uair a thugtar air. Ar ghlaonna ina dhiaidh sin, cuirfidh sé an toradh a fhaightear ón gcéad ghlao ar ais.

## Rudaí `TemplateResponse`

#### `class TemplateResponse`

Is fo-aicme é `TemplateResponse` de:class: ~django.template.response.simpletemplateResponse a bhfuil a fhios aige faoin reatha:class: ~django.http.httpRequest.

### Modhanna

#### `TemplateResponse.__init__(request, template, context=None, content_type=None, status=None, charset=None, using=None, headers=None)`

Cuireann sé réad a:class: ~django.template.response.templateResponse leis an iarraidh, an teimpléad, an comhthéacs, an cineál ábhair, stádas HTTP, agus tacar charta a thugtar.

**`Iarrata`**

  An:class: ~django.http.httpRequest sampla.

**`Teimpléad`**

  A backend-dependent template object (such as those returned by
  [`get_template()`](/ga/6.1/topics/templates/#django.template.loader.get_template)), the name of a template,
  or a list of template names.

**`comhthéacs`**

  A: aicme: ordach luachanna le cur le comhthéacs an teimpléid. De réir réamhshocraithe, is foclóir folamh é seo.

**cineál\_ábhar \`\`**

  An luach atá san áireamh sa cheanntásc HTTP `Content-Type`, lena n-áirítear an tsonraíocht cineál MIME agus an ionchódú tacar carachtair. Má shonraítear `content_type`, ansin úsáidtear a luach. Seachas sin, úsáidtear `'text/html'`.

**`stádas`**

  An cód stádais HTTP don fhreagra.

**`charset`**

  An charset ina ndéanfar an freagra a ionchódú. Mura dtugtar é bainfear as content\_type\`, agus mura n-éiríonn leis sin, úsáidfear an socrú: setting: DEFAULT\_CHARSET.

**`` `Úsáid ``**

  An: Socrú: AINM \<TEMPLATES-NAME\>\`inneall teimpléad le húsáid chun an teimpléad a luchtú.

**`ceannair`**

  A: aicme: ordach ceanntásca HTTP le cur leis an bhfreagra.

## An próiseas rindreála

Roimh a:class: ~Django.Template.Response.TemplateResponse is féidir sampla a thabhairt ar ais chuig an gcliant, caithfear é a léiriú. Glacann an próiseas rindreála léiriú idirmheánach teimpléad agus comhthéacs, agus casann sé isteach sa sruth béite deiridh is féidir a sheirbheáil don chliant.

Tá trí imthosca ann ina ndéanfar `TemplateResponse` a thaispeáint:

- When the `TemplateResponse` instance is explicitly rendered, using
  the [`SimpleTemplateResponse.render()`](#django.template.response.SimpleTemplateResponse.render) method.
- Nuair a shocraítear ábhar an fhreagra go sainráite trí `freagra.content` a shannadh.
- Tar éis dul trí mheán-earraí freagartha teimpléad, ach sula dtéann sé trí mheán-earraí freagartha.

Ní féidir `TemplateResponse` a léiriú ach uair amháin. Socraíonn an chéad ghlao chuig:meth: SimpleTemplateResponse.render ábhar an fhreagra; ní athraíonn glaonna rindreála ina dhiaidh sin an t-ábhar freagartha.

Mar sin féin, nuair a shanntar response.content\` go sainráite, cuirtear an t-athrú i bhfeidhm i gcónaí. Más mian leat iallach a chur ar an ábhar a athléiriú, is féidir leat an t-ábhar a rindreáiltear a athmheas, agus ábhar na freagartha a shannadh de láimh:

```pycon
# Set up a rendered TemplateResponse
>>> from django.template.response import TemplateResponse
>>> t = TemplateResponse(request, "original.html", {})
>>> t.render()
>>> print(t.content)
Original content

# Re-rendering doesn't change content
>>> t.template_name = "new.html"
>>> t.render()
>>> print(t.content)
Original content

# Assigning content does change, no render() call required
>>> t.content = t.rendered_content
>>> print(t.content)
New content
```

### Aisghlaonna iar-rindreála

Ní féidir roinnt oibríochtaí - mar shampla caching - a dhéanamh ar theimpléad neamh-rindreáilte. Ní mór iad a dhéanamh ar fhreagra iomlán iomlán agus a rinneadh.

Má tá middleware á úsáid agat, is féidir leat é sin a dhéanamh. Soláthraíonn Middleware go leor deiseanna chun freagra a phróiseáil ar imeacht ó radharc. Má chuireann tú iompar sa mheán-earraí freagartha, ráthaítear go bhforghníomhaítear é tar éis rindreáil teimpléid a bheith tarlú.

Mar sin féin, má tá maisitheoir á úsáid agat, níl na deiseanna céanna ann. Láimhseálfar aon iompar a shainmhínítear i maisitheoir láithreach.

Chun cúiteamh as seo (agus aon chásanna úsáide comhchosúla eile), tugann :class: TemplateResponse deis duit aisghlaonna a chlárú a ghairmfear nuair a bheidh an rindreáil críochnaithe. Ag baint úsáide as an aisghlao seo, is féidir leat próiseáil chriticiúil a chur ar siar go dtí pointe inar féidir leat a ráthú go mbeidh ábhar rindreáilte ar fáil.

Chun glaonna iar-rindreála a shainiú, sainmhínigh feidhm a ghlacann argóint amháin - freagra - agus cláraigh an fheidhm sin leis an bhfreagra teimpléid:

```
from django.template.response import TemplateResponse

def my_render_callback(response):
    # Do content-sensitive processing
    do_post_processing()

def my_view(request):
    # Create a response
    response = TemplateResponse(request, "mytemplate.html", {})
    # Register the callback
    response.add_post_render_callback(my_render_callback)
    # Return the response
    return response
```

Gairmfear ```my_render_callback () ``tar éis don `mytemplate.html``` a rindreáil, agus cuirfear an sampla iomlán:class: TemplateResponse ar fáil mar argóint.

Má rinneadh an teimpléad cheana féin, cuirfear an glaoch ar ais láithreach.

## Ag baint úsáide as `TemplateResponse` agus `SimpleTemplateResponse`

A [`TemplateResponse`](#django.template.response.TemplateResponse) object can be used anywhere that a normal
[`django.http.HttpResponse`](/ga/6.1/ref/request-response/#django.http.HttpResponse) can be used. It can also be used as an
alternative to calling [`render()`](/ga/6.1/topics/http/shortcuts/#django.shortcuts.render).

Mar shampla, filleann an radharc seo a leanas a:class: TemplateResponse le teimpléad agus comhthéacs ina bhfuil tacar ceisteanna:

```
from django.template.response import TemplateResponse

def blog_index(request):
    return TemplateResponse(
        request, "entry_list.html", {"entries": Entry.objects.all()}
    )
```
